首页 新闻 会员 周边

JQuery与json传值问题

0
悬赏园豆:30 [已解决问题] 解决于 2012-05-28 12:50

JQUERY调用
    <script type="text/javascript">
        var message = null;
        var script = null;
        var teachers = null;
        function saveTeacher() {
            $.ajax({
                url: "../Handlers/TeacherHandler.ashx",
                type: "POST",
                data: $("#form1").serializeArray(),
                dataType: "JSON",
                //data应该是三部分数据
                //message:是否保存成功;script:关闭子页面的脚本;teachers:得到的教师列表
                complete: function (data) {
                    debugger;
                    message = data.message;
                    script = data.script;
                    teachers = data.teachers;
                },
                success: function (data) {
                    debugger;
                    alert(message);
                    script;
                },
                error: function (data) {
                    debugger;
                    alert(message);
                    script;
                }
            })
        }
    </script>
---------------------------------------
我debugger查看data
发现data.responseText的值如下:
{message:"用户名已存在!",script:"<script type='text/javascript'>parentDialog.close();
</script>",data:"<ul class='teachList clearfix'><li>
<input type='radio' name='teachers' value='92CC185B-5682-49BD-A520-0352F9235F54' />test</li>
<li><input type='radio' name='teachers' value='CCC83629-FE07-4571-BC2B-5583E1804976' />test1</li>
<li><input type='radio' name='teachers' value='教师编号10' />教师10</li><li>
<input type='radio' name='teachers' value='教师编号2' />教师2</li><li><input type='radio' name='teachers' value='教师编号3' />
教师3</li><li><input type='radio' name='teachers' value='教师编号4' />教师4</li><li><input type='radio' name='teachers' value='教师编号5' />
教师5</li><li><input type='radio' name='teachers' value='教师编号6' />教师6</li><li><input type='radio' name='teachers' value='教师编号7' />
教师7</li><li><input type='radio' name='teachers' value='教师编号8' />教师8</li><li><input type='radio' name='teachers' value='教师编号9' />
教师9</li></ul>"}
但是如果用data.message,data.script,data.teachers都无法得到。求帮助。

安静生活的主页 安静生活 | 初学一级 | 园豆:157
提问于:2012-05-26 13:09
< >
分享
最佳答案
0

在 complete: function (data) { 下面加一句:

data=eval(data);

试试

收获园豆:20
artwl | 专家六级 |园豆:16736 | 2012-05-26 14:07

谢谢您,不行唉~~,我以前没用过JSON,我这个写法对吗?

{"name":"aaa","Age":"123"}我看网上都是这样的写法,对吗?

安静生活 | 园豆:157 (初学一级) | 2012-05-26 14:21

@安静生活: 关键是JSON格式和JSON格式的字符串的区别,另外数字型的可以不加双引号,你可以看看这篇文章:浅入浅出JS中的eval及json

artwl | 园豆:16736 (专家六级) | 2012-05-26 14:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册