ajax readyState=4并且status=200时,还进error方法


 

今天在使用jQuery.ajax方法去调用后台方法时,ajax中得参数data类型是"JSON",后台DEBUG调试,运行正常,

返回正常的结果集,但是前端一直都进到ajax的error方法,百思不得其解,后要一探究竟,在error方法的参数中加了data后,发现data中的readyState = 4 并且 status=200,

这两个状态也证明ajax访问没有问题,没有出现异常。回过头发现我在后台返回的是字符串,但并不是标准的json格式的字符串,所以前端js进入不了success。

无法解析为json格式的数据,所以报错进error。

通过后台将结果集转成json格式字符串即可。或者将data类型改为“text”

 

        function ajaxUpdate(content,key) {
            $.ajax({
                async:true,
                type: "POST",
                url: "*******************",
                data: {content:content,key:key},
                dataType: "text",
                success: function(data){
                    alert(data);
                },error:function (XMLHttpRequest) {
                    alert("error"+XMLHttpRequest.status+"---"+XMLHttpRequest.readyState);

                }
            });
        }

  

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM