jquery ajax 回调error 函数通常有两种原因:
1,根据 http status 来判断,比如状态码如 404,500 之类。2,响应数据是否是dataType指定格式。如指定了json,响应的却不是json,那么也可能执行error回调函数。
根据你的问题来看的话,很可能是第二个原因。 下边列出一些非常简单排查方法:
将 dataType 改为 text ,然后在success回调函数中输出data查看是否是你预期的结果
或者将 getInfo.php 只写 echo json_encode(array('test'=>1)); 然后看看是否正常
或者直接通过firebug等工具,查看请求的响应数据。
或者在getInfo.php的开头增加 ini_set("display_errors","Off");error_reporting(0);
这几种办法任选一种即可。
因为很有可能你的程序有报 notice,或者 warnings,而导致响应的格式不是json.
其实这种问题很好解决的,json错误,说明数据从array到json的转变有问题,先把数据量变小,然后多测试几遍,有可能是引号的问题哦
加了dataType:json就是error,那你别从数据库里面查数据啦,就弄个json数据,直接从后台传到前台,{"aa":"123"},你这样试试,现在主要确定的是到底是json数据有问题,还是传输出问题啦,我个人感觉还是你的json格式拼错了
这种情况有可能后端返回了畸形的json jqapi上有明确说明吧
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(3)
jquery ajax 回调error 函数通常有两种原因:
1,根据 http status 来判断,比如状态码如 404,500 之类。
2,响应数据是否是dataType指定格式。如指定了json,响应的却不是json,那么也可能执行error回调函数。
根据你的问题来看的话,很可能是第二个原因。 下边列出一些非常简单排查方法:
将 dataType 改为 text ,然后在success回调函数中输出data查看是否是你预期的结果
或者
将 getInfo.php 只写 echo json_encode(array('test'=>1)); 然后看看是否正常
或者
直接通过firebug等工具,查看请求的响应数据。
或者
在getInfo.php的开头增加 ini_set("display_errors","Off");error_reporting(0);
这几种办法任选一种即可。
因为很有可能你的程序有报 notice,或者 warnings,而导致响应的格式不是json.
其实这种问题很好解决的,json错误,说明数据从array到json的转变有问题,先把数据量变小,然后多测试几遍,有可能是引号的问题哦
加了dataType:json就是error,那你别从数据库里面查数据啦,就弄个json数据,直接从后台传到前台,{"aa":"123"},你这样试试,现在主要确定的是到底是json数据有问题,还是传输出问题啦,我个人感觉还是你的json格式拼错了
这种情况有可能后端返回了畸形的json jqapi上有明确说明吧