JQuery ajax请求一直返回Error(parsererror)

Posted Mr_伍先生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JQuery ajax请求一直返回Error(parsererror)相关的知识,希望对你有一定的参考价值。

项目中common.js中有一段ajax异常处理方法:

$(document).ajaxComplete(function(event,xhr,options) {
     if (xhr.statusText=="parsererror") {
         top.location.href="/admin";
     }
    });

 

有一个异常页面的ajax请求如下:

$.ajax({  
            type :"post",  
            url :"XXXXXXXXXXXXXXXXXXXXXXXXXXXXX",  
            timeout : 40000,  
            data: "null",  
            error : function(XMLHttpRequest, textStatus, errorThrown) {   
                       alert(XMLHttpRequest.status);  
                       alert(XMLHttpRequest.readyState);  
                       alert(textStatus);  
                       alert(‘读取超时,请检查网络连接‘);  
            },  
            dataType : "json",  
            success : function(data){  
                alert("1");  
             }  
          });  

 

 

上述的代码一直进入error,并且  

alert(textStatus);  

弹出的一直是parsererror

 
 
alert(XMLHttpRequest.status);  

弹出200正常

 

alert(XMLHttpRequest.readyState);  

弹出4正常

 

 

 

最后发现弹出parsererror的原因是类型的问题,也就是说可能是返回类型出问题了。

果然进过查找,发现在struts.xml文件中的ajax请求的action中的result返回类型不是json.而是跳转页面String类型。

 

记录此次异常处理,以上。

 

以上是关于JQuery ajax请求一直返回Error(parsererror)的主要内容,如果未能解决你的问题,请参考以下文章

前台ajax请求php后台返回成功却进error方法解决

jQuery 的 ajax 方法,返回结果 readyState=4 并且 status=200 时,还进 error 方法

ajax error怎么解决

jquery ajax返回Internal server error 500错误怎么解决

Jquery ajax get request to aspx web method not hit the breakpoint in the method and error is json pa

ajax上传文件,为啥后台接收的一直为空