1. url

发送请求的地址。为空表示当前页。

 $.ajax({
type: "post",
data: studentInfo,
contentType: "application/json",
url: "/Home/Submit",//请求的接口
beforeSend: function () {
// 禁用按钮防止重复提交
$("#submit").attr({ disabled: "disabled" });
},
success: function (data) {
if (data == "Success") {
//清空输入框
clearBox();
}
},
complete: function () {
$("#submit").removeAttr("disabled");
},
error: function (data) {
console.info("error: " + data.responseText);
}
});

2. type

请求方式,get或post或put或delete。默认为get。put和delte不是得到所有的浏览器支持。

 $.ajax({
type: "post",//请求的方式
data: studentInfo,
contentType: "application/json",
url: "/Home/Submit",
beforeSend: function () {
// 禁用按钮防止重复提交
$("#submit").attr({ disabled: "disabled" });
},
success: function (data) {
if (data == "Success") {
//清空输入框
clearBox();
}
},
complete: function () {
$("#submit").removeAttr("disabled");
},
error: function (data) {
console.info("error: " + data.responseText);
}
});

3. dataType

预期服务器返回的数据类型。若没指定,则自动根据http包中的mime信息来判断。可用值为xml,html,script,json,jsonp,text。

 $.ajax({
url: "/count/storage/data?callback=storageSurvey",
dataType: "json", //指定服务器返回的数据类型为json
type: "GET",
async:true,
jsonp: "callback", ///指定参数名称,默认为callback
jsonpCallback:"storageSurvey", //指定回调函数名称
success: function (data) {
storageSurvey_local(data);
},
error:function () {
alert("error");
}
}

4. async

默认为true,即请求为异步请求,这也是ajax存在的意义。但同时也可以将这个参数设置为false,实现同步请求。(同步请求会锁定浏览器,直到这个请求结束后才可以执行其他操作)

 $.ajax({
url: "/Handle/Do.aspx",
type: "post",
data: { id: '0' },
async:true,//默认异步false,同步true。
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参数
}
});

5. headers

jQuery1.5添加。一个用于一起进行请求的额外的key/value对的map。这项需要在beforeSend方法被调用前设置,因为headers中的任意值都有肯那个在beforeSend方法中被覆盖。

 通过beforeSend获取Header信息
$.ajax({
type: "GET",
url: "default.aspx",
beforeSend: function(request) {
request.setRequestHeader("token", "token");
},
success: function(result) {
alert(result);
}
}); setting参数 headers 比如项目中请求接口需要传token
$.ajax({
headers: {
Accept: "application/json; charset=utf-8",
Authorization: token
},
type: "get",
success: function (data) {
}
});

6. beforeSend (XHR)

这个方法是用来在发送请求前修改XMLHttpRequest对象的,若修改失败返回false,则取消此次ajax请求.

 $.ajax({
type: "post",
data: studentInfo,
contentType: "application/json",
url: "/Home/Submit",
beforeSend: function () {//请求前做的事
// 禁用按钮防止重复提交
$("#submit").attr({ disabled: "disabled" });
},
success: function (data) {
if (data == "Success") {
//清空输入框
clearBox();
}
},
complete: function () {
$("#submit").removeAttr("disabled");
},
error: function (data) {
console.info("error: " + data.responseText);
}
});

7. cache

默认为true,设置为false即不缓存。(当datatype为script或jasonp时默认为fasle)

 $.ajax({
type: "post",
data: studentInfo,
contentType: "application/json",
url: "/Home/Submit",
cache:true,//默认为true,false不清缓存。
beforeSend: function () {
// 禁用按钮防止重复提交
$("#submit").attr({ disabled: "disabled" });
},
success: function (data) {
if (data == "Success") {
//清空输入框
clearBox();
}
},
complete: function () {
$("#submit").removeAttr("disabled");
},
error: function (data) {
console.info("error: " + data.responseText);
}
});

8. data

发送到服务器的数据。必须为key/value格式。且自动转换为query string,get请求会将字符串附加在url后。


9. traditional

设置为true,用传统的方式来序列化数据。

10. timeout

设置请求超时时间,毫秒为单位。此设置会覆盖全局设置,即所有ajax请求共享同一个超时时间。

$.ajax({
  url:'', //请求的URL
  timeout : 1000, //超时时间设置,单位毫秒
  type : 'get', //请求方式,get或post
  data :{}, //请求所传参数,json格式
   dataType:'json',//返回的数据格式
   success:function(data){ //请求成功的回调函数
     alert("成功");
  },
  complete : function(XMLHttpRequest,status){ //请求完成后最终执行参数
     if(status=='timeout'){//超时,status还有success,error等值的情况
       ajaxTimeoutTest.abort();
      alert("超时");
    }
  }
 });

11.contentType

它是发送到服务器的额数据的内容编码类型,它的默认值是"appliction/x-www-form-urlencoded"。传递的服务器的数据通常以UTF-8编码。

12. success(data,textStatus,XHR)

请求成功后的回调函数。参数由服务器返回,并会根据datatype参数进行参数处理。

 $.ajax({
  url:'', //请求的URL
  type : 'get', //请求方式,get或post
  data :{}, //请求所传参数,json格式
  dataType:'json',//返回的数据格式
  success:function(data){ //请求成功的回调函数
    alert("成功");
  },
error: function (data) {
console.info("error: " + data.responseText);
},
  complete : function(XMLHttpRequest,status){ //请求完成后最终执行参数
    if(status=='timeout'){//超时,status还有success,error等值的情况
      ajaxTimeoutTest.abort();
      alert("超时");
    }
  }
});

13. error (XHR,textStatus,errorThrown)

当请求失败时调用这个方法。textStatus为错误信息,可用值为error,timeout,abort,parsererror。errorThrown为可选的要捕获的异常对象。

$.ajax({
  url:'', //请求的URL
  type : 'get', //请求方式,get或post
  data :{}, //请求所传参数,json格式
   dataType:'json',//返回的数据格式
   success:function(data){ //请求成功的回调函数
     alert("成功");
  },
   error: function (data) {//错误的回调函数
          console.info("error: " + data.responseText);
   },
  complete : function(XMLHttpRequest,status){ //请求完成后最终执行参数
     if(status=='timeout'){//超时,status还有success,error等值的情况
       ajaxTimeoutTest.abort();
      alert("超时");
    }
  }
 });

14. complete(jqXHR,textStatus)

请求完成后的回调函数,无论成功与否。textStatus为一个描述请求类型的字符串,它可以有以下值success,notmodified,error,timeout,abort,parsererror。

 $.ajax({
type: "post",
data: studentInfo,
contentType: "application/json",
url: "/Home/Submit",
beforeSend: function () {
// 禁用按钮防止重复提交
$("#submit").attr({ disabled: "disabled" });
},
success: function (data) {
if (data == "Success") {
//清空输入框
clearBox();
}
},
complete: function () {//请求之后执行的函数
$("#submit").removeAttr("disabled");
},
error: function (data) {
console.info("error: " + data.responseText);
}
});

15. contents

jQuery1.5添加。一个字符串或常规表达式的map,用来确定用何种方式处理jQuery的response。

 $.ajax({
url: 'Home/Index',
type: 'post',
dataType: 'mytype',//自定义类型
contents: {//当把一个自定义的dataType选项类型转换为一个已知的类型的时候需要使用contents参数
mytype: /mytype/
},
converters: {
'text mycustomtype': true,
'mycustomtype json': function () {
console.log('converters')
}
}
})

16. context

用来设置ajax回调函数的上下文。让回调函数中的this指向这个对象。

 $.ajax({
        url: "url",
        context: document.body
    }).done(function() {                
         $(this).addClass( "done" );        
});
this是documnet.body 
context参数作用 将回调里的this替换为context里对应的值。

17. converters

jQuery1.5添加。一组数据类型到数据类型的转换。每一个转换值都是一个返回了response转换后的值的方法。

18. crossDomain

false表示同一域请求,true表示跨域请求。它可以使服务器端重定向到另外一个域。

19. dataFilter (data,type)

将ajax的返回值进行预处理的函数,data为返回值,teype为传递的datatype参数。

20. global

默认为true,触发全局ajax事件。设置为false可以用来不触发。可以用来控制不同的ajax事件。

21. ifModified

默认为false,仅在服务器数据改变时获取数据,使用http包中的Last-Modified头信息判断。

22. isLocal

jQuery1.5.1添加。允许将当前环境识别为local,jquery默认是不会识别的。file,*-extension 和widget协议可以被识别为local。如果isLocal需要被修改,推荐使用$.ajaxSetup()方法。

23. jsonp

要求为String类型的参数,在一个jsonp请求中重写回调函数的名字。该值用来替代在"callback=?"这种GET或POST请求中URL参数里的"callback"部分,例如{jsonp:'onJsonPLoad'}会导致将"onJsonPLoad=?"传给服务器。

       $.ajax({
url: "/count/storage/data?callback=storageSurvey",
dataType: "jsonp", //指定服务器返回的数据类型为jsonp 通常指的是跨域
type: "GET",
async:true,
jsonp: "callback", ///指定参数名称,默认为callback
jsonpCallback:"storageSurvey", //指定回调函数名称
success: function (data) {
storageSurvey_local(data);
},
error:function () {
alert("error");
}

24. jsonpCallback

为jsonp请求指定一个回调函数名。jquery会自动生成随机函数名,用这个值可以修改此名。

 $.ajax({
9 type : "get",
10 async:false,
11 url : "ajax.ashx",
12 dataType : "jsonp",
13 jsonp: "callbackparam",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(默认为:callback)
14 jsonpCallback:"success_jsonpCallback",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名
15 success : function(json){
16 alert(json);
17 alert(json[0].name);
18 },
19 error:function(){
20 alert('fail');
21 }
22 });

25. mimetype

jQuery1.5.1添加。可以用来覆盖XHR中的mimetype。

26. password

要求为String类型的参数,用于响应HTTP访问认证请求的密码。

27. processData

要求为Boolean类型的参数,默认为true。默认情况下,发送的数据将被转换为对象(从技术角度来讲并非字符串)以配合默认内容类型"application/x-www-form-urlencoded"。如果要发送DOM树信息或者其他不希望转换的信息,请设置为false。

28. scriptCharset

只有当请求为jsonp或script,并且type为get时才会用于强制修改charset。

 $.ajax({
url: testUrl,
dataType: 'jsonp',
type: 'post',
scriptCharset: 'utf-8'
});
使用scriptCharset即可解决问题,用contentType就不一定可以了。 上面的解决方案是最完美的,另外网上的一般解决方式吧,是用contentType来处理的。 $.ajax({
url: "ajax.aspx?a=memberlogin",
type: "post",
dataType: "json",
contentType: "application/x-www-form-urlencoded; charset=utf-8",
success: callback
});

29. statusCode

jQuery1.5添加。用来定义http的返回码对应的处理函数。下面的例子定义了返回404后的处理方法。

  $.ajax({
statusCode: {
404: function() {
alert("page not found");
}
}
});

30.username

用于响应http访问认证要求为String类型的参数,用于响应HTTP访问认证请求的用户名。

31. xhr

默认在ie下是ActiveXObject而其他浏览器是XMLHttpRequest。用于重写或提供一个增强的XMLHttpRequest对象。

32. xhrFields

jQuery1.5.1添加。它可以添加到原生xhr对象上的key/value对。举个例子,你可以通过它来设置跨域的withCredentials为true。

 $.ajax({
url: a_cross_domain_url,
xhrFields: {
withCredentials: true
}
});
支持withCredentials属性的浏览器有Firefox 3.5+、Safari 4+和Chrome。IE10及更早版本都不支持
在jQuery1.5中,withCredentials这个属性不在原生的xhr中,所以这个请求会被忽略到。若要测试这个例子,需要使用jQuery1.5.1。

针对jquery的ajax中的参数理解的更多相关文章

  1. jQuery ajax中的参数含义

    所有options均可选,下面简要说明每个option 1.async 默认为true,即请求为异步请求,这也是ajax存在的意义.但同时也可以将这个参数设置为false,实现同步请求.(同步请求会锁 ...

  2. 在jquery的ajax中添加自定义的header信息

    转自网络 1 $.ajax({ type: "POST", url: "http://192.168.0.88/action.cgi?ActionID=WEB_Reque ...

  3. jQuery的ajax中return语句无法返回值

    今天在做一个新需求的时候,用到jQuery的ajax来返回一个查询结果: 但是调用这个方法的时候,data有数据,调用的地方获取到的却一直都是undefined,在网上搜索了一些资料,找到了问题所在, ...

  4. jquery的ajax同步和异步的理解及示例

    之前一直在写JQUERY代码的时候遇到AJAX加载数据都需要考虑代码运行顺序问题.最近的项目用了到AJAX同步.这个同步的意思是当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面出去 ...

  5. 对象的使用处理,作用域的和ajax中this的理解

    首先,封装类,理解清楚你需要用的哪几个变量,然后声明,然后在类里封装函数,其中,constructor就是存放初始变量的地方. 这里还是datatable的处理解决, constructor(tabl ...

  6. js-重写jquery的ajax中的内容

    /** * 测试 * 2018/1/8 13:40 lee.wangel */ (function($){ //备份jquery的ajax方法 var _ajax=$.ajax; //重写jquery ...

  7. jQuery 获取url中的参数

    //获取url中的参数 function getUrlParam(name) { var reg = new RegExp("(^|&)" + name + "= ...

  8. jQuery获取URL中的参数

    //获取URL地址栏中的参数 function getUrlParam(name) { var reg = new RegExp("(^|&)" + name + &quo ...

  9. ajax中的参数

    function login() { $.ajax({ //几个参数需要注意一下 type: "POST",//方法类型 dataType: "json",// ...

随机推荐

  1. 故障排除:无法启动、访问或连接到 Azure 虚拟机上运行的应用程序

    有多种原因可导致无法启用或连接到在 Azure 虚拟机 (VM) 上运行的应用程序.原因包括应用程序未在预期端口上运行或侦听.侦听端口受到阻止,或网络规则未将流量正确传递到应用程序.本文说明有条理地找 ...

  2. SQL Server ->> Database Promgramming Object Security Control(数据库编程对象安全控制)

    对于SQL Server内编程对象的安全控制是今天我在思考的问题.在MSDN上找到了几篇有用的文章. 首先微软推荐了三种做法: 1)第一种做法是在SQL Server中对一个应用程序对应创建应用程序角 ...

  3. Ten C++11 Features Every C++ Developer Should Use

    原版:http://www.codeproject.com/Articles/570638/Ten-Cplusplus-Features-Every-Cplusplus-Developer 译版:ht ...

  4. 初级游戏外挂编程详解 windows运行原理+游戏辅助编程 游戏外挂编程

    详解游戏辅助编程 [目录] 1-什么是Windows API 2-Windows进程 3-Windows 的内存的运行原理 4-windows 中句柄的概念 5-Windows的变量类型 6-辅助实现 ...

  5. windows线程时间打印

    https://blog.csdn.net/xingcen/article/details/70084029

  6. ThinkPHP最新版本SQL注入漏洞

    如下controller即可触发SQL注入: code 区域 public function test() { $uname = I('get.uname'); $u = M('user')-> ...

  7. C#图解教程读书笔记(第7章 类和继承)

    1.所有的类都继承自object 2.如何隐藏基类的成员 要隐藏一个继承的数据成员,需要声明一个新的相同类型的成员,并使用相同的名称. 通过在派生类中声明新的带有相同签名的函数成员,可以隐藏或掩盖继承 ...

  8. PyCharm Django项目开发的调试方法

    下面介绍两种PyCharm Django项目开发的调试方法: 方法一: 1. 使用PyCharm 自带的django项目Debug工具, 当然前提条件是django项目环境已经搭建好了. 2. 在代码 ...

  9. 用eclipse pydev 创建一个新py文件时 文件的coding设置问题

    问题: 当安装好eclipse和pydev后,创建一个project, 创建一个新的py文件,文件头都会自带中文时间.这样在编译的时候会报错. 解决办法之一: 通过设置,可以使新建的文件的文件头自动带 ...

  10. PHP基础系列(二) PHP数组相关的函数分类整理

    之前写过一篇介绍 PHP字符串函数 的博文,这里写第二篇,本文主要介绍PHP 数组相关的函数: 一.检查数组中是否存在 array_key_exists — 检查给定的键名或索引是否存在于数组中 ar ...