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类型。

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

时间: 2024-10-12 05:06:54

JQuery ajax请求一直返回Error(parsererror)的相关文章

jQuery ajax 请求HttpServlet返回[HTTP/1.1 405 Method not allowed]

1.问题使用jQuery的ajax请求 Servlet 时,返回没有进入ajax的success回调函数,浏览器控制台显示 [HTTP/1.1 405 Method not allowed]. 2.解决方法网上调查,大多都是如下解释 Apache.IIS.Nginx等绝大多数web服务器,都不允许静态文件响应POST请求,否则会返回“HTTP/1.1 405 Method not allowed”错误. 即,将出错页面表单的method=“post”改为“get”即可 改了 ajax 请求方法,

Jquery Ajax请求,返回JSON处理

$.ajax({     type:'post',     url:'/customize/control/servicesTicketServices',     data:{operFlag:'search'},     dataType:'json',     async:false,     success:function(returnValue){         // 处理成功,遍历返回值处理         var searchRTDataAry = eval(returnVal

ajax请求总是返回error的问题

多半是因为返回值格式的问题,在后台返回的应与前台设定的值一直,不然就会进入error,会报404服务器错误,极有可能是后台返回的数据类型不对 public void exitSystem( HttpServletRequest request, HttpServletResponse response) { HttpSession session = request.getSession(false);//防止创建Session if(session!=null){ //session.remo

jquery ajax请求方式与提示用户正在处理请稍等,等待数据返回时loading的显示

1.jquery ajax请求方式与提示用户正在处理请稍等 为了提高用户体验度,我们通常会给出 “正在处理,请稍等!”诸如此类的提示.我们可通过设置$.ajax()下的参数beforeSend()来实现 初次使用$.ajax() ,我没有去区分过ajax的异步请求和同步请求的不同,刚开始使用同步请求,以至后来出现许多问题,特别在体验度方面.异步和同步:同步意味着执行完一段程序才能执行下一段,它属于阻塞模式,其表现在网页上的现象是——浏览器会锁定页面(即所谓的页面假死状态),用户不能操作其它的,必

jQuery Ajax 请求报长度过长的错误:Error during serialization or deserialization using the JSON JavaScriptSerializer

{"Message":"Error during serialization or deserialization using the JSON JavaScriptSerializer. The length of the string exceeds the value set 在web项目的web.config <configuration>节下增加 <system.web.extensions>    <scripting>    

ajax请求成功返回200,但还是进入error事件

ajax请求成功返回200,但还是进入error事件. 出错原因: 前台dataType:"json",而后台返回的数据不符合json规范. 解决方案有两种: 1.前台:让ajax数据返回类型为text而不是json:即dataType: "text"; 2.后台:修改后台返回值 原文地址:https://www.cnblogs.com/Fourteen-Y/p/11307392.html

Jquery异步请求Action返回JSON

转载请注明出处:jiq?钦's technical Blog 最近在自己写分布式注册中心的Web管理界面,需要点击左边树节点时,请求后台Action查询该节点的详细数据,然后异步刷新右边的节点信息区域. 异步刷新用了Jquery对Ajax的封装: function zTreeOnClick(event, treeId, treeNode) { $.ajax({ type: "POST", url: "Config.action", data: ""

jquery.ajax请求aspx和ashx的异同 Jquery Ajax调用aspx页面方法

1.jquery.ajax请求aspx 请求aspx的静态方法要注意一下问题: (1)aspx的后台方法必须静态,而且添加webmethod特性 (2)在ajax方法中contentType必须是"application/json", (3)data传递的数据必须是严格的json数据,如"{'a':'aa','b':'bb'}",而且参数必须和静态方法的参数一 一对应 (4)aspx的后台方法返回的数据默认形式是"{'d':'返回的内容'}",所

springmvc配置一:ajax请求防止返回中文乱码配置说明

Spring3.0 MVC @ResponseBody 的作用是把返回值直接写到HTTP response body里. Spring使用AnnotationMethodHandlerAdapter的handleResponseBody方法, AnnotationMethodHandlerAdapter使用request header中"Accept"的值和messageConverter支持的MediaType进行匹配,然后会用"Accept"的第一个值写入res