一、为啥jQuery的ajax请求成功却总是执行error方法?
需要完成一个局部刷新页面的功能,选择jQuery的ajax方法获取数据,代码如下:
$.ajax({
url:url,
data:p,
dataType:"json",
type:"post",
success:function(json){
if(typeof(opts.okHandle)=="function") {
opts.okHandle(json);
}
},
error:function(xmlReq,err){
if(typeof(opts.errHandle)=="function"){
opts.errHandle(xmlReq,err);
}
}
});
在测试的过程中发现ajax请求完成之后并没有如期执行success方法,利用firebug设置断点才发现原来是执行了error方法,并且抛出了一个parseerror的错误,原来是在对响应值(resonseText)的内容进行json格式转换的时候出现问题了。
二、响应值(resonseText)的哪个字符出了问题?
利用json格式化工具(http://jsonformatter.curiousconcept.com/),检查resonseText的值,终于发现这串有问题的字符:
<p class=\"ugc\">12、 开心一笑:辩护人:裴日红你是否敢问证人讯问时是否对你进行了刑讯逼供?裴日红:“敢”,审判长:“辩护人!这个程序是你启动还是法庭启动?”哈哈。。。</p>
继续定位,最终确定“12、”与“开心一笑”之间的空白是罪魁祸首!
三、出问题的空白字符是什么?
这个空白究竟是什么字符,造成格式化json失败?利用NATIVE/ASCII编码互转工具(http://tool.chinaz.com/Tools/native_ascii.aspx),发现空白的ASCII代码为“\u0009”
\u0009是水平制表符的Unicode编码,它对应的转义字符为\t。终于真相大白了。
四、是水平制表符(\u0009)导致了json格式转换失败!
小提示:一般在网页的输入框内手动无法输入水平制表符,可以利用记事本先输入一个字符串,在字符串的中间按一下键盘的“Tab”键即可,然后通过复制粘贴进行测试。
- 大小: 60.4 KB
- 大小: 49.1 KB
- 大小: 26.9 KB
分享到:
相关推荐
ajax请求报parsererror错误是很宽泛的概念,很多情况下都报这个错, 在很多时候,即使ajax提交、返回都正常 XMLHttpRequest.status=200 (正常响应) XMLHttpRequest.readyState=4 (正常接收) ajax也会提示一个parse...
然而,在数据传输过程中,特别是处理JSON格式数据时,经常会遇到解析错误(parseerror),这种错误的常见原因之一,就是空格或者空白字符的不当使用。 首先,我们需要明确什么是parseerror。在$.ajax()方法中,如果...
3. **错误处理**:对于可能出现的网络错误或服务器错误,应设置适当的错误处理。例如: ```javascript xhr.onerror = function() { console.error('Ajax请求出错'); }; xhr.ontimeout = function() { console....
最近使用ajax接收spring mvc传过来的json数据时总是出现parseerror的错误,下面通过本文给大家分享spring mvc 返回json数据到ajax报错parseerror问题的解决方法,需要的朋友参考下吧
**基于JSON的AJAX请求案例** 在Web开发中,AJAX(Asynchronous JavaScript and XML)是一种在不重新加载整个页面的情况下更新部分网页的技术。而JSON(JavaScript Object Notation)是轻量级的数据交换格式,它使得...
在$.ajax方法中,error回调函数用于处理请求过程中可能发生的错误,例如网络问题或服务器错误。通过这个回调函数,开发者可以执行错误处理的逻辑,比如显示错误信息给用户或记录错误日志。 知识点九:AJAX请求的...
然而,也要注意避免因过多请求导致服务器压力过大,适时使用缓存策略优化性能。 9. 跨域请求: 由于同源策略限制,JavaScript默认不能向其他域名发送AJAX请求。为解决这个问题,第三方API通常支持CORS(跨源资源...
jQuery中的AJAX请求是一种非常常见的前端异步数据交互方式,它的作用是使得页面无需重新加载即可向服务器请求数据,并将数据动态地加载到页面中。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它...
在JavaScript的世界里,Ajax(Asynchronous JavaScript and XML)是一种创建动态网页的技术,它允许在不刷新整个页面的情况下,与服务器交换数据并更新部分网页内容。jQuery是一个强大的JavaScript库,它简化了...
在IT行业中,Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。Ajax返回字符串是Ajax交互过程中一个常见的场景,它涉及到JavaScript、HTTP请求和响应处理等多个...
在Ajax中,使用GET请求时,请求的数据会被附加到URL后面,以问号分隔,形成一个查询字符串。这种方式限制了请求的大小,因为URL长度有限。以下是一个简单的Ajax GET请求示例: ```javascript var xhr = new ...
本话题主要关注在Web平台中,使用Java后端和JavaScript前端进行JSON数据交互的过程,具体涉及到AJAX(Asynchronous JavaScript and XML)技术以及JSON(JavaScript Object Notation)数据格式。 **1. AJAX**:AJAX ...
**Ajax技术** Ajax,全称为Asynchronous JavaScript and XML(异步JavaScript和XML),是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它的核心在于利用JavaScript创建XMLHttpRequest对象,通过这个...
在现代Web开发中,AJAX...在实际应用中,你可能还需要处理错误、设置超时、携带认证信息等问题,这些都是AJAX请求中常见的扩展话题。通过不断的实践和学习,你可以更好地掌握这些技术,提高Web应用的用户体验。
然而,在实际应用中,我们可能会遇到各种错误情况,这些错误可能是由于语法错误、网络问题、服务器端问题或是资源权限问题导致的。标题提到的“ajax错误代码”就是指在使用AJAX时遇到的问题。 首先,让我们深入了解...
**Ajax异步请求详解** Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使得网页实现异步更新,大大提升了用户体验。...
8. **调试技巧**:开发者可以利用浏览器的开发者工具查看AJAX请求的详细信息,如请求头、响应内容、网络状态等,这对于调试非常有帮助。 通过以上介绍,我们可以看出PHP与AJAX的结合使用能大幅提升Web应用的用户...
5. **错误处理**:在源码中,还会看到如何处理可能出现的错误,比如网络问题或服务器返回错误状态。这通常通过`onerror`或`ontimeout`事件来实现。 6. **跨域请求**:如果Ajax请求跨越了同源策略的限制,就需要用到...