$.ajax返回的JSON无法执行success的解决方法

晚上在修改代码,之前用的


代码如下:

$.ajax({
..
dataType:'json',
...
success:function(json){
//不执行success
},
error:function(error){
//总是执行这个error
}
});

为什么会这样子呢?在网上查了好久,结果发现是因为我指定了dataType:'json',这样一指定完蛋了,对Json的要求就非常严格起来了,起初我的json格式是这样写的:"{result:{\"success\":\"true\",\"meg\":\"success\"}}",可这样写不行,得改成这样写:"{\"success\":true,\"mesg\":\"success\"}",如果说是bool类型,则不用加引号,其它的键/值都需要加引号.

(0)

相关推荐

  • 浅析Ajax后台success传来json数据的问题

    最近在使用JQuery的ajax方法时,需要返回的数据为json数据,在success返回中数据处理会根据返回方式不同会采用不同的方式来生成json数据.在$.ajax方法中应该是如何来处理的,简单进行说明. 首先给出要传的json数据:[{"demoData":"This Is The JSON Data"}] 1,使用普通的aspx页面来处理 $.ajax({ type: "post", url: "Default.aspx&quo

  • ajax不执行success回调而是执行了error回调

    附上代码如下: JScript code: 复制代码 代码如下: $.ajax({ type: "post", url: "jsp/loginManager.jsp", data: "name=" + $('#rname').attr('value') + "&pwd=" + $('#pwd').attr('value'), dataType: "text", success: function(d

  • jquery ajax的success回调函数中实现按钮置灰倒计时

    主要是实现异步手机发送短信成功之后在ajax的success回调中实现将发送按钮置灰并倒计时,刚开始一直报js错误,问题可能出在于调用ajax之后this被更新,随意在这之前先把this对象赋给一个变量就没问题 按钮倒计时代码 复制代码 代码如下: var wait = 60; get_code_time = function (o) { if (wait == 0) { o.removeAttribute("disabled"); o.value = "免费获取验证码&qu

  • Jquery版本导致Ajax不执行success回调函数

    对于使用ajax来请求数据已经不是第一次使用(一直觉得也就那么回事),就在昨天居然遇到了一个问题?项目中需要用到ajax来进行数据的请求,于是三下五除二的将ajax代码拷贝到项目中,前端,后台数据处理完毕,测试(心想可以休息下下了),谁知数据成功返回.前端没报错,后台也没错,硬是没有执行success回调函数,心凉了一半. 接下来就是找原因,查看原先代码,百度,json格式检查,终于发现问题所在 罪魁祸首居然是Jquery版本所引起的. Jquery版本:jquery-1.9.0.min.js

  • 谈谈Jquery ajax中success和complete有哪些不同点

    废话不多说了,先给大家贴一段代码看看吧, $.ajax({ type: "post", url: url, dataType:'html', success: function(data) { }, complete: function(XMLHttpRequest, textStatus) { }, error: function(){} }); success : 当请求成功时调用的函数.这个函数会得到一个参数:从服务器返回的数据.当请求成功时调用函数,即status==200.

随机推荐