您的位置:首页 > Web前端 > JQuery

jquery ajax success中的函数不执行的原因

2013-03-15 21:20 531 查看
最近在学jquery 利用ajax传递数据

代码是这样的

前台:

$(function load() {
            $.ajax({
                type: "POST",
                url: "Question1.ashx",
                datatype:"json";
                success: function (result) {
                   
                    var obj = eval('(' + result + ')');
                    
                  
                    $("#username").html(obj.username);
                    $("#rolename").html(obj.rolename);
                    $("#score").html(obj.score);
                    $("#field").html(obj.field);
                },
              

            })

        })
后台代码

show = "{username:'" + username + "',rolename:'" + rolename + "',score:'" + score + "',field:'" + field + "'}";

context.Response.Write(show);


每次都是直接跳过success不执行,调试了很多次 发现是datatye的原因,因为原来是jquery1.4版本以后对json格式要求非常严格了,要满足json.org网站定义的格式才能执行success回调,否则都会出错,无法解析返回的json数据。所以对于从后台传过来的show字符串,并不能解析成json,只能是将datatype去掉,让他可以接收到所有传过来的数据,然后再利用eval()函数将字符串转换成json格式的,这样就可以输出了。。。。。

这是自己第一次写博客,希望以后再工作中学习中,遇到的知识,碰到的问题都写到这上面,给自己一个记录。。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐