$.ajax()方法在请求成功后老是执行error中的函数
来源:互联网 发布:mac dashboard是什么 编辑:程序博客网 时间:2024/06/05 15:58
- JS中的ajax 请求如下:
$.ajax({ url: default_setting.formObj.action, type: "POST", data: jsonObj, dataType: "json", success: function(res) { var callbacks = $.Callbacks('stopOnFalse'); callbacks.add(default_setting.formObj.onSuccess) callbacks.fire(res); }, error: function (XMLHttpRequest, textStatus, errorThrown) { // var res = eval("(" + XMLHttpRequest.responseText + ")"); // alert(res.message); alert("Operation failed"); } })
后台返回时返回了一个String类型的单数,就造成了老是执行error中的函数的现象,查看文档,发现Jquery ajax方法中的dataType的说明:预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息来智能判断。由此可见我这里指定了json类型,返回了text类型,所以走了error的回调。
解决:将dataType去掉,就能正常执行回调,但是我不推荐。在真实项目中,应该制定一个ajax请求返回结果类(比如JsonBean),所有ajax请求方法的返回类型都应该是JsonBean,这样指定dataType=’json’,不会出现其他幺蛾子。
JsonBean的实体可以是这样的
public class JsonBean implements Serializable { private static final long serialVersionUID = 1L; private boolean success; private String code; private Object result; // 构造方法,getter方法 略}
阅读全文
0 0
- $.ajax()方法在请求成功后老是执行error中的函数
- ajax请求成功后执行error中的方法
- ajax请求springmvc成功后仍然执行error模块
- ajax请求成功,但执行error回调
- 关于提交AJAX请求后成功,不执行success去执行error的原因及分析
- ajax请求成功后执行回调方法后页面会自动刷新问题
- ajax请求成功后无法在success方法里给外部变量赋值的问题
- jQuery AJAX中的$.ajax()方法请求成功却始终进入error问题的解决方案及原因记录
- jQuery插件AjaxFileUpload实现ajax文件上传时老是执行error方法 问题原因
- Ajax请求成功后,获取success中的返回的问题
- ajax请求成功,但没执行success(done),执行了error(fail)
- jquery ajax请求后,跳转error方法的错误
- ajax 请求成功 跳入error的原因
- ajax请求成功后打开新窗口地址
- ajax后台执行成功,却回调error
- ajax发送请求成功,但是不进入success方法,进入error方法?
- ajax请求后台方法成功但是不执行回调函数
- ajax请求成功后JS页面的success方法不走
- html span标签 不换行 字符换行问题
- Dubbo(1)——入门基础与实例讲解
- windows消息和消息队列 二
- 算法概论习题8.8
- LeetCode#4* Median of Two Sorted Arrays
- $.ajax()方法在请求成功后老是执行error中的函数
- lintcode 字符串查找(strStr) (Java)
- maven的settings.xml配置详解
- Android 事件总线EventBus
- 关于ListView加入HeaderView之后,点击条目时获得position参数移位的BUG修正
- NOIP 2011 Senior 3
- java实现人民币数字转换成中文
- caffe+windows+vs2015 (无GPU)环境配置
- TCP建立连接的三次握手过程