jquery ajax请求成功也有response,但是不进success

Posted lcazzz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery ajax请求成功也有response,但是不进success相关的知识,希望对你有一定的参考价值。

1.状态码返回200--表明服务器正常响应了客户端的请求;
2.通过firebug和IE的httpWatcher可以看出服务器端返回了正常的数据,并且是符合业务逻辑的数据,但是,程序就是不进入到回调函数success: function(data){****}而是进入到error: function(data){***}。

问题所在:

1. 返回的每条数据是否是dataType中定义的数据类型。如果有部分数据不是或者哪怕一条数据没有严格的按照dataType定义的类型,程序就会进入到error:function(){****},
你看一下看response是不是存在callback,jsonp请求会带callback返回应该是有callback的,而json请求是没有callback的。自己区分需要dataType是json还是jsonp,
返回的数据类型一定要符合定义的数据类型。即如果你定义的 dataType 是 json 类型的,那么返回来的数据一定是 json 才可以,平且不然就会执行 error 里的程序块儿。
2. 请求的域和当前域是否是同一域,如果不是同一域也十分有可能进入error:function(){***}
3.同时需要特别的注意返回的JSON数据是否是严格的JSON格式.
4.也应该严重关切当后台返回的是一个List 数据(List当中的数据是Json格式)时,有没脏数据即不是严格的JSON格式。









以上是关于jquery ajax请求成功也有response,但是不进success的主要内容,如果未能解决你的问题,请参考以下文章

jQuery_ajax请求超时

发送ajax请求,jquery已经生效,路径没有问题,有response,但是不执行success或者error function

ajax请求接口怎么获得返回数据

Jquery中$.get(),$.post(),$.load(),$.ajax(),$.getJSON(),$.getScript()的用法总结

使用 jquery validate 插件成功验证后发送 ajax 请求

如何确定为啥 jQuery ajax $.post 请求不成功?