jquery ajax success中的函数不执行的原因
2013-03-15 21:20
531 查看
最近在学jquery 利用ajax传递数据
代码是这样的
前台:
每次都是直接跳过success不执行,调试了很多次 发现是datatye的原因,因为原来是jquery1.4版本以后对json格式要求非常严格了,要满足json.org网站定义的格式才能执行success回调,否则都会出错,无法解析返回的json数据。所以对于从后台传过来的show字符串,并不能解析成json,只能是将datatype去掉,让他可以接收到所有传过来的数据,然后再利用eval()函数将字符串转换成json格式的,这样就可以输出了。。。。。
这是自己第一次写博客,希望以后再工作中学习中,遇到的知识,碰到的问题都写到这上面,给自己一个记录。。。。。
代码是这样的
前台:
$(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格式的,这样就可以输出了。。。。。
这是自己第一次写博客,希望以后再工作中学习中,遇到的知识,碰到的问题都写到这上面,给自己一个记录。。。。。
相关文章推荐
- Jquery ajax json 不执行success的原因
- jquery ajax success 函数 异步调用方法中不能给全局变量赋值的原因及解决办法
- jQuery通过ajax方法获取json数据不执行success的原因及解决方法
- jquery中ajax请求后台数据成功后既不执行success也不执行error的完美解决方法
- 【编程笔记】jquery中的ajax的回调函数不能执行
- “<”,javasciprt下jquery函数$.post执行无响应的原因
- jquery中ajax函数执行顺序问题之如何设置同步
- $.ajax返回不执行success的原因
- [转]IE9.0或者360下js(JavaScript、jQuery)不能正确执行(加载),按F12后执行正常;Firefox下ajax的success返回数据data(json、string)无法获取
- jquery 源码分析9-ajax(E)全局函数ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend
- jQuery下Ajax 执行回调函数的原理success、error、complete
- IE9.0或者360下js(JavaScript、jQuery)不能正确执行(加载),按F12后执行正常;Firefox下ajax的success返回数据data(json、string)无法获取
- jQuery_ajax返回json后无法执行success
- 关于提交AJAX请求后成功,不执行success去执行error的原因及分析
- $.ajax({ }) 里面的success函数不执行
- IE9.0或者360下js(JavaScript、jQuery)不能正确执行(加载),按F12后执行正常;Firefox下ajax的success返回数据data(json、string)无法获取
- JQuery中的回调函数不被执行问题的原因
- jquery中ajax函数执行顺序问题之如何设置同步
- ajax无法执行success回调的原因分析
- jquery中ajax函数之本地请求不支持chrome浏览器原因