ajax parser error如何解决

jQuery ajax返回parsererror错误的解决方法

操作方法

  • 01

    解决方法: 在Ajax中添加语句“contentType: "application/x-www-form-urlencoded; charset=utf-8"”具体操作如下:$.ajax({ type : "POST", cache : false,/*不缓存数据*/ url : _url, data : _data, contentType : "applicatio jQuery ajax返回parsererror错误的解决方法标签: AJAX, JavaScript, jQuery, parsererror标题: jQuery ajax返回parsererror错误的解决方法作者: Demon链接: http://demon.tw/programming/jquery-ajax-parsererror.html版权: 本博客的所有文章,都遵守“署名-非商业性使用-相同方式共享 2.5 中国大陆”协议条款。在WSH中使用jQuery ajax下载图片,却返回parsererror错误,Google了一下,找到了解决方法,记录之。 在jQuery中ajax请求方法返回的时候,会去解析返回的值,企图将返回值解析为文本,例如responseXML,或者responseText。如果请求的数据为二进制数据(例如图片),jQuery就会报parsererror的错。其实这也不算是jQuery的Bug,因为XMLHTTPRequest的API原本就是为了处理纯文本形式的数据,但纯文本数据本身也是二进制的,XMLHTTPRequest是可以请求二进制数据的。jquery.js(1.2.6)中报错的位置是在第2878行的httpData函数中:httpData: function( xhr, type, filter ) { var ct = xhr.getResponseHeader("content-type"), xml = type == "xml" || !type && ct && ct.indexOf("xml") >= 0, data = xml ? xhr.responseXML : xhr.responseText; if ( xml && data.documentElement.tagName == "parsererror&qu 相关推荐:Jquery.ajax报parseerror Invalid JSON错误的原因和解决方法:不能解析 (默认: 自动判断 (xml 或 html)) 请求失败时调用时间。参数有以下三个:XMLHttpRequest 对象、错误信息、(可选)捕获的错误对象。如果发生了错误,错误信息(第二个参数)除了得到null之外,还可能是"timeout", "error", "notmodified" 和 ot; ) throw "parsererror"; //......可以看出,这里的xml变量不管是true还是false,data都会去获取responseXML或者responseText,也就是去解析返回的内容。很明显,如果返回的是非文本的数据,这里就会抛出parsererror的异常(注:其实也不是所有的非文本数据都会抛出异常)。修改后:httpData: function( xhr, type, filter ) { if (type == "binary") return xhr.responseBody; var ct = xhr.getResponseHeader("content-type"), xml = type == "xml" || !type && ct && ct.indexOf("xml") >= 0, data = xml ? xhr.responseXML : xhr.responseText; if ( xml && data.documentElement.tagName == "parsererror" ) throw "parsererror"; //......判断ajax方法中的dataType参数,如果是binary的话直接返回responseBody,看你还报错!记得在ajax请求中把dataType设置成binary哦:$.ajax({ url: url, dataType: "binary", async: false, success: function() { //do something }});参考链接:jQuery中ajax方法的改进

(0)

相关推荐

  • 小米手机助手runtime error怎么解决

    不少小米3的用户都曾经遇到过这样一个问题,打开小米手机助手直接报错,弹窗提示runtime error 很多朋友都不知道小米手机助手runtime error怎么解决,一起来看看小编搜集的解决办法吧 ...

  • WinXP安装软件时出现NSIS ERROR错误解决方法

    WinXP安装软件时出现NSIS ERROR错误解决方法.虽然微软已经停止对WinXP的支持,还是有不少用户依然坚持使用XP,不过在安装软件的时候也会出现一些问题,近日有小伙伴说会出现NSIS ERR ...

  • Win7打开游戏界面提示错误代码Script Error如何解决

    Win7电脑打开游戏界面提示错误代码Script Error的解决方法. 解决方法如下: 1.点击"开始"菜单,选择"运行..." 2.输入"regs ...

  • win8系统开机提示错误代码"runtime Error"怎么解决?

    win8系统开机提示错误代码"runtime Error"怎么解决? 方法一:执行CMD命令 1.首先,打开win8运行窗口,执行"CMD"命令,并单击回车键; ...

  • win7安装软件错误提示error 1935解决方法

    win7安装软件错误提示error 1935解决方法 error 1935安装程序集过程中发生错误解决方法: 1.首先按组合键win+r打开运行窗口,输入regedit并按回车,如图所示: 2.调出注 ...

  • Win7系统安装软件提示Nsis Error怎么解决?

    Win7系统安装软件提示Nsis Error怎么解决?不管是新电脑还是旧电脑使用久了总是会出现一些问题,不少用户就反映了在安装软件的时候,会出现Nsis Error错误提示框,那么当你遇到这种情况该怎 ...

  • 打印机提示cartridge error的解决方法

    我们在工作的过程中,经常需要打印或复印文件,所以打印机是必不可少的.不过打印机经常会出现故障,导致无法打印.比如最近一位用户在使用打印机时,打印机提示“Cartridge Error”,这是什么情况? ...

  • Steam提示fatal Error怎么办?Steam提示fatal Error的解决方法

    steam平台是国外的一款游戏发售平台,支持中文简体界面,但程序内部文件还存在兼容性问题,无法在非英文文件夹运行,提示错误,下面小编教大家怎么解决,供大家参考! Steam提示fatal Error的 ...

  • Steam提示 fatal error怎么解决

    Steam是一款集合了大量游戏的软件,今天的这篇和大家聊一聊关于Steam提示 fatal error怎么解决的问题,希望能够帮助到有需要的朋友. 操作方法 01 右键点击steam图标,选择打开文件 ...