ajax常见问题总结一

  首先说一下ajax的调试语句,可以快速定位到错误原因,调试代码的添加方式是在success后边加error匿名函数,通过error中的信息获取错误原因,此外,除了ajax自身调试,还需要借助浏览器的调试工具,按下F12即可进入调试界面。接下来按照常见错误的出现频率进行说明。

$.ajax({
            type : "POST",
            url : '/pineBang/ajax/aQuery2.do',
            data : msg,
            dataType:’JSON’
            success: function(data){
                alert('success');
            },
             error: function(XMLHttpRequest, textStatus, errorThrown) {
 	        alert(XMLHttpRequest.status);
 		alert(XMLHttpRequest.readyState);
 		alert(textStatus);
   },});

1、错误状态码是403,或者出现"parsererror"错误

这两个错误是我在编程调试的时候最常见错误信息,400系列的错误通常想到的就是页面不存在即URL写错误了,但是403错误通常还表示请求参数不合法,这种情况通常发生在表单提交中,说白了就是你表单提交的数据类型和后台接收的类型不一致。

以时间类型举例,在页面表单中,大部分使用时间控件来做时间处理,如果出现403错误,可能的原因有:

(1)、时间控件生成的值是字符串类型,但是后端对象里面对应的属性是Date类型;

(2)、前端对时间控件生成的值进行处理转成date类型,但是后端对象里面对应的时间属性是String类型;

由于在提交过程中参数过多,可能会出现某些时间控件生成的数据格式不正确,建议使用自定义js方法将时间控件的值转换成文本。

parsererror错误通常是指数据类型转换错误,出现这种错误首先检查一下页面中ajax请求里面是否写对了dataType:JSON’,然后去后端代码中检查数据是否转换成JSON格式传给前台。

2404错误

这类错误的原因比较多,但是总的来讲就是请求的资源找不到,遇到这类错误需要首先检查一下请求的URL地址是否正确,或者请求的地址是否有效。

3、500系列错误

500系列的错误一般都来自于服务器端,常见的错误原因有:

(1)后台使用了toString()方法,但是前段提交给后台的值是NULL,此时后端可以调用java的common包下的一个isEmpty()方法去判断对象是否为空;

(2)后端代码问题如逻辑判断问题或其他异常,这个需要自己打断点去排查;


你可能感兴趣的:(ajax常见问题总结一)