# jQuery Ajax

# jQuery.ajax( [settings ] )

# jQuery.ajax( url [, settings ] )

url 类型: [String] 一个用来包含发送请求的URL字符串

settings 类型: [PlainObject] 一个以"{键:值}"组成的AJAX 请求设置。所有选项都是可选的。可以使用$.ajaxSetup()设置默认参数。

# 常用的setting
  • async:默认设置下,所有请求均为异步请求(也就是说这是默认设置为 true )。如果需要发送同步请求,请将此选项设置为 false

  • beforeSend:请求发送前的回调函数,用来修改请求发送前jqXHR对象,此功能用来设置自定义 HTTP 头信息,等等。该jqXHR和设置对象作为参数传递

  • cache:如果设置为 false ,浏览器将不缓存此页面。注意: 设置cache为 false将在 HEAD和GET请求中正常工作。它的工作原理是在GET请求参数中附加"_={timestamp}"

  • context:这个对象用于设置Ajax相关回调函数的上下文。 默认情况下,这个上下文是一个ajax请求使用的参数设置对象

  • data:发送到服务器的数据。将自动转换为请求字符串格式。GET 请求中将附加在 URL 后面,POST请求作为表单数据

  • headers:一个额外的{键:值}对映射到请求一起发送。此设置会在beforeSend 函数调用之前被设置 ;因此,请求头中的设置值,会被beforeSend 函数内的设置覆盖

  • method:HTTP 请求方法 (比如:"POST", "GET ", "PUT",1.9之前使用“type”)

  • .done(function()):请求成功,调用添加处理程序

  • .fail(function()):请求失败,调用添加的处理程序。

  • .always(function()):调用添加处理程序。

$.ajax({
  method: "POST",
  url: "some.php",
  data: { name: "John", location: "Boston" }
});

$.ajax( "example.php" )
    .done(function() { alert("success"); })
    .fail(function() { alert("error"); })
    .always(function() { alert("complete"); });

# jQuery.get()

使用一个HTTP GET 请求从服务器加载数据

jQuery.get( url [, data ] [, success(data, textStatus, jqXHR) ] [, dataType ])

success(data, textStatus, jqXHR) 类型: [Function] 当请求成功后执行的回调函数

dataType 类型: [String] 从服务器返回的预期的数据类型。默认:智能猜测(xml, json, script, 或 html)

$.get("test.cgi", { name: "John", time: "2pm" },
   function(data){
     alert("Data Loaded: " + data);
   });

# jQuery.post()

使用一个HTTP POST 请求从服务器加载数据

jQuery.post( url [, data ] [, success(data, textStatus, jqXHR) ] [, dataType ] )

$.post(url,data,success,dataType)
//这相当于以下 Ajax 函数的简写形式
$.ajax({
  type: "POST",
  url: url,
  data: data,
  success: success,
  dataType: dataType
});

# jQuery.getJSON()

jQuery.getJSON( url [, data ] [, success(data, textStatus, jqXHR) ] )

使用一个HTTP GET请求从服务器加载JSON编码的数据

//这相当于Ajax函数的缩写
$.ajax({
  dataType: "json",
  url: url,
  data: data,
  success: success
});