`
紫风哥哥
  • 浏览: 52479 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

jQuery1.4+版本 ajax 不执行success回调函数,却进入error回调函数

阅读更多
jQuery1.4+版本 ajax 不执行success回调函数,却进入error回调函数
在jQuery1.4.2版本在使用ajax时存在一个严重问题,如果指定dataType为json,竟然死活不进入success回调函数,值进入error回调函数里面,而其他版本,如1.2.6是正常的。

示例代码如下:
jQuery.ajax({
url: "text.html",
type: "POST",
        data: strjson,
        success:function(obj){alert(obj)},
        error:function(){alert('发生错误')},
        complete: function(obj) {
            if(obj.status == 200)alert('有效');
            else alert('无效');
        }
});

在jquery的网站找到了在线的api文档看了下,地址:http://api.jquery.com/jQuery.ajax/,发现dataType如下的说明
  "json": Evaluates the response as JSON and returns a JavaScript object. In jQuery 1.4 the JSON data is parsed in a strict manner; any malformed JSON is rejected and a parse error is thrown. (See json.org for more information on proper JSON formatting.)

  原来是jquery1.4版本以后对json格式要求非常严格了,要满足json.org网站定义的格式才能执行success回调,其他怪异模式的json字符串都会出错,无法解析返回json数据。说的是1.4+以上的,那为什么下载的1.3.2指定dataType为json时也不能执行success回调呢?

    所以在使用ajax的时候需要注意json格式的返回数据时候严格!

正确返回的obj格式为:{"success":true,"id":"1"}就可以正常执行success回调了。
  JSON格式总结下,详细的去json.org查看。
  1)键名称:用双引号括起
  2)字符串:用使用双引号括起
  3)数字,布尔类型不需要使用双引号括起
分享到:
评论

相关推荐

    Jquery版本导致Ajax不执行success回调函数

    本篇文章将深入探讨一个特定的问题——"Jquery版本导致Ajax不执行success回调函数"。 首先,让我们理解Ajax的核心概念。Ajax,全称Asynchronous JavaScript and XML,是一种创建动态网页的技术,允许在不重新加载...

    解决使用ajaxFileUpload上传控件出现的问题:回调函数总是进入error或success

    然而,在实际应用中,开发者可能会遇到一些问题,如回调函数总是进入error或success状态,这通常与错误处理、请求状态、服务器响应以及代码实现有关。 首先,我们来详细了解一下`ajaxFileUpload`。这是一个基于...

    jquery中ajax请求后台数据成功后既不执行success也不执行error的完美解决方法

    jquery中ajax请求后台数据成功后既不执行success也不执行error,此外系统报错:Uncaught SyntaxError: Unexpected identifier at Object.success,但后台能够返回数据,原代码如下: var source=[]; $.ajax({ ...

    jquery AJAX 回调函数取JSON成功代码

    `success`函数是回调函数,当AJAX请求成功且服务器返回数据后,这个函数会被调用。在这里,我们打印出接收到的数据,并遍历JSON对象,将其内容添加到一个ID为'output'的元素中。如果请求过程中发生错误,`error`函数...

    ajax不执行success回调而是执行了error回调

    success回调函数是在请求成功后执行的函数,而error回调函数则是请求失败时执行的函数。 2. dataType为"json"时的问题:在jQuery的ajax中指定dataType为"json"时,jQuery会尝试将返回的数据解析为JSON格式的...

    jQuery Ajax Post 回调函数不执行问题的解决方法

    本文将深入探讨jQuery `Ajax Post`回调函数不执行的原因,并提供相应的解决方法,同时也会分析`ajax success`回调函数不执行的情况。 首先,我们来看jQuery `$.post()`函数的基本用法,它通常用于发送POST类型的...

    一个完整的jquery+ajax传送请求的实例

    `success`、`error`和`complete`分别是请求成功、失败和完成时调用的回调函数。 在实际应用中,我们通常会结合使用jQuery的其他功能,例如,使用`$.getJSON`或`$.get`、`$.post`等简化的API来处理特定类型的请求。...

    jquery+ajax+json例子

    例如,`$.ajax({url: "myUrl", type: "GET", success: function(data) { /* 处理返回的数据 */ }})`会向指定URL发送GET请求,成功后执行回调函数。 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式...

    jQuery+Ajax+PHP无刷新分页

    4. **更新页面内容**:在Ajax的`success`回调中,解析返回的数据,并用新的内容替换现有的列表项。同时,根据总页数更新分页导航的状态。 ```javascript success: function(response) { var items = $(response); ...

    php+jquery+ajax无刷新上传图片

    在本文中,我们将深入探讨如何使用PHP、jQuery和AJAX技术实现无刷新图片上传功能。这一技术在现代网页开发中非常常见,它提高了用户体验,让用户能够在不刷新整个页面的情况下完成文件上传。 首先,我们从PHP的角度...

    php+jquery+ajax无刷新多图上传

    - AJAX的success回调函数处理服务器响应,如显示上传成功信息或更新UI。 总结:通过结合PHP、jQuery和AJAX,我们可以实现一个高效、无刷新的多图上传功能。这种方式极大地提升了用户体验,因为用户可以一次性选择...

    Jquery+css+ajax资源文件

    3. **回调函数**:`success`, `error`, `complete`等回调函数用于处理请求的成功、失败和完成状态。 4. **跨域请求**:CORS(跨源资源共享)允许AJAX进行跨域访问,是现代Web开发中的重要特性。 综上,"Jquery+css...

    jQuery+ajax实现简单登录验证

    - 在Ajax的`success`回调函数中,根据服务器返回的响应进行相应处理。例如,显示错误消息或重定向到用户主页。 5. **安全性考虑**: - 为了防止跨站脚本攻击(XSS),确保在输出用户输入前进行适当的转义或编码。...

    jquery+ajax 无刷新案例

    5. **响应处理**:在AJAX的`success`回调函数中,接收到服务器响应的加密值,可以将其显示在页面上的某个元素,如一个`<div>`或者`<p>`标签中。 6. **错误处理**:同时,需要处理可能的错误情况,例如网络问题、...

    JQuery+AJAX实现用户名验证

    这里的`success`回调函数就是处理服务器返回信息的地方。 6. **用户体验优化**:为了提供更好的用户体验,可以添加一些视觉反馈,比如禁用按钮以防止重复提交,或者显示一个加载动画。 在实际项目中,可能还需要...

    struts2+ajax+jquery

    jQuery的$.ajax()方法可以创建一个Ajax请求,其参数包括URL、请求类型(GET或POST)、数据、回调函数等。例如: ```javascript $.ajax({ url: "actionName.action", // Struts2 Action的URL type: "POST", data:...

    jquery+ajax分页

    5. **客户端渲染**:在`success`回调中,我们将服务器返回的数据插入到页面相应的位置,完成数据的更新。 **三、优化与扩展** 1. **分页样式**:可以使用Bootstrap或其他CSS框架为分页组件添加样式,使其看起来更...

    PHP+jQuery+Ajax实现用户登录与退出

    在构建Web应用程序时,用户登录和退出功能是不可或缺的部分,特别是在需要用户个性化体验或保护私密数据的场景下。PHP、jQuery和Ajax的结合能够帮助我们实现无刷新的交互,提高用户界面的响应速度和整体体验。下面...

    jQuery中回调函数的原理及实现下

    在jQuery中,回调函数经常用于异步操作,如Ajax请求或者动画效果,确保这些操作完成后再执行其他代码。 1. **事件处理中的回调**:在jQuery中,我们可以通过`.on()`方法绑定事件监听器,并传递一个回调函数作为参数...

    js操作Cookie子键+Jquery调用Ajax方法执行后台操作

    error: function(jqXHR, textStatus, errorThrown) { // 错误回调函数 console.error("请求出错:", textStatus, errorThrown); } }); ``` 在上述代码中,`success`函数会在后台处理请求并成功返回数据时被调用,...

Global site tag (gtag.js) - Google Analytics