Jquery Ajax Error 调试错误的技巧


Posted in Javascript onNovember 20, 2015

JQuery使我们在开发Ajax应用程序的时候提高了效率,减少了许多兼容性问题,我们在Ajax项目中,遇到ajax异步获取数据出错怎么办,我们可以通过捕捉error事件来获取出错的信息。

在没给大家介绍正文之前先给分享Jquery中AJAX参数详细列表:

参数名 类型 描述
url String (默认: 当前页地址) 发送请求的地址。
type String (默认: "GET") 请求方式 ("POST" 或 "GET"), 默认为 "GET"。注意:其它 HTTP 请求方法,如 PUT 和 DELETE 也可以使用,但仅部分浏览器支持。
timeout Number 设置请求超时时间(毫秒)。此设置将覆盖全局设置。
async Boolean (默认: true) 默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。
beforeSend Function 发送请求前可修改 XMLHttpRequest 对象的函数,如添加自定义 HTTP 头。XMLHttpRequest 对象是唯一的参数。function (XMLHttpRequest) {this; // the options for this ajax request}
cache Boolean (默认: true) jQuery 1.2 新功能,设置为 false 将不会从浏览器缓存中加载请求信息。
complete Function 请求完成后回调函数 (请求成功或失败时均调用)。参数: XMLHttpRequest 对象,成功信息字符串。function (XMLHttpRequest, textStatus) {this; // the options for this ajax request}
contentType String (默认: "application/x-www-form-urlencoded") 发送信息至服务器时内容编码类型。默认值适合大多数应用场合。
data Object, String 发 送到服务器的数据。将自动转换为请求字符串格式。GET 请求中将附加在 URL 后。查看 processData 选项说明以禁止此自动转换。必须为 Key/Value 格式。如果为数组,jQuery 将自动为不同值对应同一个名称。如 {foo:["bar1", "bar2"]} 转换为 '&foo=bar1&foo=bar2'。
dataType String 预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息返回 responseXML 或 responseText,并作为回调函数参数传递,可用值: "xml": 返回 XML 文档,可用 jQuery 处理。 "html": 返回纯文本 HTML 信息;包含 script 元素。 "script": 返回纯文本 JavaScript 代码。不会自动缓存结果。 "json": 返回 JSON 数据 。 "jsonp": JSONP 格式。使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。
error Function (默认: 自动判断 (xml 或 html)) 请求失败时将调用此方法。这个方法有三个参数:XMLHttpRequest 对象,错误信息,(可能)捕获的错误对象。function (XMLHttpRequest, textStatus, errorThrown) {// 通常情况下textStatus和errorThown只有其中一个有值 this; // the options for this ajax request}
global Boolean (默认: true) 是否触发全局 AJAX 事件。设置为 false 将不会触发全局 AJAX 事件,如 ajaxStart 或 ajaxStop 。可用于控制不同的Ajax事件
ifModified Boolean (默认: false) 仅在服务器数据改变时获取新数据。使用 HTTP 包 Last-Modified 头信息判断。
processData Boolean (默认: true) 默认情况下,发送的数据将被转换为对象(技术上讲并非字符串) 以配合默认内容类型 "application/x-www-form-urlencoded"。如果要发送 DOM 树信息或其它不希望转换的信息,请设置为 false。
success Function 请求成功后回调函数。这个方法有两个参数:服务器返回数据,返回状态function (data, textStatus) {// data could be xmlDoc, jsonObj, html, text, etc...this; // the options for this ajax request}

jquery中ajax的常用用法类似于:

JScript 代码  

$(document).ready(function() {
      jQuery("#clearCac").click(function() {
        jQuery.ajax({
          url: url,
          type: "post",
          data: { id: '0' },
          dataType: "json",
          success: function(msg) {
            alert(msg);
          },
          error: function(XMLHttpRequest, textStatus, errorThrown) {
            alert(XMLHttpRequest.status);
            alert(XMLHttpRequest.readyState);
            alert(textStatus);
          },
          complete: function(XMLHttpRequest, textStatus) {
            this; // 调用本次AJAX请求时传递的options参数
          }
        });
      });
    });

当通过ajax异步调用成功时,会调用 success函数 。success函数语法为:

//请求成功后回调函数。这个方法有两个参数:服务器返回数据,返回状态


 function (data, textStatus)
 {
  // data could be xmlDoc, jsonObj, html, text, etc...   
  this;
 // the options for this ajax request
 }
当通过ajax异步调用出错时,会调用 error函数 。error函数语法为:
//(默 认: 自动判断 (xml 或 html)) 请求失败时调用时间。参数有以下三个:XMLHttpRequest 对象、错误信息、(可选)捕获的错误对象。如果发生了错误,错误信息(第二个参数)除了得到null之外,还可能是"timeout", "error", "notmodified" 和 "parsererror"。
//textStatus: "timeout", "error", "notmodified" 和 "parsererror"。
error:function (XMLHttpRequest, textStatus, errorThrown) 
{ 
}

error事件返回的第一个参数XMLHttpRequest:

XMLHttpRequest.readyState: 状态码的意思

0 - (未初始化)还没有调用send()方法
1 - (载入)已调用send()方法,正在发送请求
2 - (载入完成)send()方法执行完成,已经接收到全部响应内容
3 - (交互)正在解析响应内容
4 - (完成)响应内容解析完成,可以在客户端调用了

发送error可能有下面两张引起的,或者其他程序问题,需要我们认真仔细。

1、data:"{}", data为空也一定要传"{}";不然返回的是xml格式的。并提示parsererror.
2、parsererror的异常和Header 类型也有关系。及编码header('Content-type: text/html; charset=utf8');

以上内容是小编给大家分享关于Jquery Ajax Error 调试错误的技巧,希望大家喜欢。

Javascript 相关文章推荐
javascript 一些用法小结
Sep 11 Javascript
jQuery html()等方法介绍
Nov 18 Javascript
使用JavaScript修改浏览器URL地址栏的实现代码
Oct 21 Javascript
javascript中打印当前的时间实现思路及代码
Dec 18 Javascript
javascript实现很浪漫的气泡冒出特效
Sep 05 Javascript
vue音乐播放器插件vue-aplayer的配置及其使用实例详解
Jul 10 Javascript
vue axios请求拦截实例代码
Mar 29 Javascript
vue.js基于v-for实现批量渲染 Json数组对象列表数据示例
Aug 03 Javascript
layui的面包屑或者表单不显示的解决方法
Sep 05 Javascript
es6中reduce的基本使用方法
Sep 10 Javascript
vue实现商品列表的添加删除实例讲解
May 14 Javascript
解决vue cli4升级sass-loader(v8)后报错问题
Jul 30 Javascript
jQuery实现简单的文件上传进度条效果
Mar 26 #Javascript
jquery实现手风琴效果
Nov 20 #Javascript
不想让浏览器运行javascript脚本的方法
Nov 20 #Javascript
jquery背景跟随鼠标滑动导航
Nov 20 #Javascript
JavaScript获取浏览器信息的方法
Nov 20 #Javascript
JavaScript性能优化之小知识总结
Nov 20 #Javascript
Bootstrap每天必学之基础排版
Nov 20 #Javascript
You might like
php max_execution_time执行时间问题
2011/07/17 PHP
ubuntu12.04使用c编写php扩展模块教程分享
2013/12/25 PHP
PHP异常Parse error: syntax error, unexpected T_VAR错误解决方法
2014/05/06 PHP
PHP 二维数组根据某个字段排序的具体实现
2014/06/03 PHP
在Linux系统的服务器上隐藏PHP版本号的方法
2015/06/06 PHP
ThinkPHP Where 条件中常用表达式示例(详解)
2017/03/31 PHP
js textarea自动增高并隐藏滚动条
2009/12/16 Javascript
表单的焦点顺序tabindex和对应enter键提交
2013/01/04 Javascript
解析window.open的使用方法总结
2013/06/19 Javascript
js通过元素class名字获取元素集合的具体实现
2014/01/06 Javascript
JavaScript fontsize方法入门实例(按照指定的尺寸来显示字符串)
2014/10/17 Javascript
JavaScript中使用Callback控制流程介绍
2015/03/16 Javascript
跟我学习javascript创建对象(类)的8种方法
2015/11/20 Javascript
jQuery的实例及必知重要的jQuery选择器详解
2016/05/20 Javascript
基于JS实现回到页面顶部的五种写法(从实现到增强)
2016/09/03 Javascript
jQuery给表格添加分页效果
2017/03/02 Javascript
JS 验证密码 不能为空,必须含有数字、字母、特殊字符,长度在8-12位
2017/06/21 Javascript
vue实现表格增删改查效果的实例代码
2017/07/18 Javascript
详解webpack-dev-server使用http-proxy解决跨域问题
2018/01/13 Javascript
分享一款超好用的JavaScript 打包压缩工具
2020/04/26 Javascript
[05:05]第三天的dota2
2013/07/29 DOTA
Python编程之序列操作实例详解
2017/07/22 Python
Python使用 Beanstalkd 做异步任务处理的方法
2018/04/24 Python
Django框架自定义session处理操作示例
2019/05/27 Python
Python分析彩票记录并预测中奖号码过程详解
2019/07/09 Python
python爬虫开发之PyQuery模块详细使用方法与实例全解
2020/03/09 Python
python爬取豆瓣电影排行榜(requests)的示例代码
2021/02/18 Python
购买瑞典当代设计的腕表和太阳眼镜:TRIWA
2016/10/30 全球购物
描述JSP和Servlet的区别、共同点、各自应用的范围
2012/10/02 面试题
项目采购员岗位职责
2014/04/15 职场文书
学生安全承诺书
2014/05/22 职场文书
消防志愿者活动方案
2014/08/23 职场文书
2014入党积极分子破除“四风”思想汇报
2014/09/14 职场文书
工作失职造成投诉的检讨书范文
2014/10/05 职场文书
个人收入证明范本
2015/06/12 职场文书
先进基层党组织事迹材料2016
2016/02/29 职场文书