ajax success不执行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax success不执行相关的知识,希望对你有一定的参考价值。
function checkname()
$.ajax(
type: 'post',
url: './data/Handler1.ashx',
data: 'username=' + $('#username').val(),
dataType: 'json',
success: function (data)
window.alert(data[0].meg);
$('#myres').val(data[0].meg);
);
为什么不执行呢?
1、你的ajax操作是在checkname()的函数里进行的,你是否忘记了执行checkname()函数呢?这个可能有点白痴。
2、不知道你的#myres元素是什么,我觉得应该改写成$('#myres').html(data[0].meg);
3、你可以试着写一个error:function()alert(‘something’);看是否出现了错误。追问
我好像是因为C#后台的数据没转为json数据。。。
参考技术B $.ajax(type: 'post',
url: './data/Handler1.ashx',
data: 'username=' + $('#username').val(),
dataType: 'json',
success: function (data)
window.alert(data[0].meg);
$('#myres').val(data[0].meg);
,
error: function (x1,x2,x3)
alert(x1);
);追问
是没转类型的问题吗?
Jquery ajax json 不执行success的原因 坑爹
最近在看jQuery的API文档,在使用到jQuery的ajax时,如果指定了dataType为json,老是不执行success回调,而是执行了error回调函数,极度郁闷。后面改为1.2.6版本可以执行。
然后继续下载了几个jquery版本,如1.3.2,1.4.0的,指定dataType为json都不能执行success回调,只有小于1.3版本的才能执行success回调。
最后去jquery的网站找到了在线的api文档看了下,地址:http://api.jquery.com/jQuery.ajax/ ,发现dataType如下的说明
"json": Evaluates the response as JSON and returns a JavaScript object. In jQuery 1.4 the JSON data is parsed in a strict manner; any malformed JSON is rejected and a parse error is thrown. (See json.org for more information on proper JSON formatting.)
原来是jquery1.4版本以后对json格式要求非常严格了,要满足json.org网站定义的格式才能执行success回调,否则都会出错,无法解析返回的json数据。说的是1.4+以上的,那为什么下载的1.3.2指定dataType为json时也不能执行success回调呢?
怪不得不执行,原来我返回的是{success:true,id:1} 这种不规则的字符串,不是严格的json格式,改成{"success":true,"id":"1"} 就可以正常执行success回调了。
JSON格式总结下,详细的去json.org 查看。
1)键名称:用双引号 括起
2)字符串:用使用双引号 括起
3)数字,布尔类型不需要 使用双引号 括起
//转自:http://blog.csdn.net/diqye2011/article/details/7108594
以上是关于ajax success不执行的主要内容,如果未能解决你的问题,请参考以下文章
spring mvc ajax success不执行 反倒执行error
Jquery ajax json 不执行success的原因 坑爹
jquery 使用ajax,正常返回后,不执行success的问题
jquery通过ajax方法获取json数据不执行success回调