您的位置:首页 > Web前端 > JQuery

jQuery ajax用法与ajax学习笔记

2013-09-05 20:25 501 查看
jquery中的ajax包括了几种方法,如有post,get,ajax,load,getjson,getscript等等这些都可以实现ajax异步传输数据了,下面我来介绍自己人的jquery ajax学习笔记本吧。.$.post(url, params, callback) 用post的方式下载一个页面返回XMLHttpRequest
url: 请求的页面
params:表示请求的要发送的参数.
callback: 请求结束后,调用的方法
eg:
$.post("test.cgi",
{ name: "John", time: "2pm" },
function(data){
alert("Data Loaded: " + data);
}
);

ajaxStart(callback) 当ajax请求发送前,将触发callback.
eg;
$("#loading").ajaxStart(function(){
  $(this).show();
});
ajaxSend(callback)当ajax请求发送时触发callback,参数是XMLHttpRequest和settings请求设置eg:
$("#msg").ajaxSend(function(request, settings){
  $(this).append("<li>Starting request at " + settings.url + "</li>");
});
ajaxComplete(callback)当一个ajax请求完成时调用callback.回调参数为XMLHttpRequest和settings请求设置eg:
$("#msg").ajaxComplete(function(request, settings){
  $(this).append("<li>Request Complete.</li>");
});
ajaxSuccess(callback)当一个ajax请求成功时调用回调参数为XMLHttpRequest和settings请求设置eg:
$("#msg").ajaxSuccess(function(request, settings){
  $(this).append("<li>Successful Request!</li>");
});
ajaxError(callback)当一个ajax请求失败时调用回调参数为XMLHttpRequest和settings请求设置eg:
$("#msg").ajaxError(function(request, settings){
  $(this).append("<li>Error requesting page " + settings.url + "</li>");
});
ajaxStop(callback)当所有的ajax请求结束时,将触发callback
eg:
$("#loading").ajaxStop(function(){
  $(this).hide();
});
load(url, params, callback)加载url的内容,并把得到的内容插入到DOM中去. 注意:避免去获取script脚本.可以用$.getScripturl:请求的页面,params:发送的参数.callback: 调用完成后的回调函数.eg:
<div id="feeds"></div>$("#feeds").load("feeds.html")==><div id="feeds"><b>45</b> feeds found.</div>;
loadIfModified(url, params,callback)功能与85点的load方法一模一样.唯一的区别是,当服务器端根据LastModify判断出没有什么改动的话.就不进行请求.也不进行dom插入.
serialize()这是一个十分有用的方法.一般用来序列化进行ajax请求的参数.十分方便eg
:<input type='text' name='name' value='John'/>
<input type='text' name='location' value='Boston'/>$("input[@type=text]").serialize();==>name=John&location=Boston
.$.ajax(params)这个方法是jQuery中调用ajax的最基本方法,功能十分强大.参数是一个对象.所有的参数用key:value的形式设置
下面主要介绍一下各种参数:
(string)url: 要请求的网址,可以把参数get参数设置到url上面
(string)type: 请求的类型,可以是Post与get,默认情况下是GET
(string)dataType: 你所期望返回的数据格式,可以是xml,html,script,json.最终返回类型还是服务器决定.
(Boolean)ifModified:只当返回值改变的时候才会成功返回正确值.主要判断依据是请求头的Last-Modified.默认情况下,这个值设置为false
(Number)timeout:设置请求时间,这个时间会替换全局的时间($.ajaxTimeout)
(Boolean)global:是否触发全局的ajax事件句柄.例如ajaxStart,ajaxStop.默认情况是true
(Function)error: 请求错误处理的函数.
(Function)success: 请求成功处理的函数.
(Function)complete:请求完成处理的函数.
(Object|string)data:发送到服务器端的数据.如果不是字符串,则被转化成字符串,被加到url上面,做为查询字符串.如果不想用默认的方式处理,可以设置processData状态.
(Boolean)processData.默认情况是true,把object转化成string,做查询字符串.可以设置为false,则以DOMDocments发送.
(String)contentType.默认是"application/x-www-form-urlencoded",一般情况不用修改.
(Boolean)async .默认值为true.表示异步请求,如果想改成同步.只要把设为false就可以了.
(Function)beforeSend.用于对在发送请求之前,对请求头的设置.有XMLHttpRequest做为参数
例子:
取一个js文件.
$.ajax({
  type: "GET",
  url: "test.js",
  dataType: "script"
})
post数据到服务器端,并且成功时提示用户.
$.ajax({
  type: "POST",
  url: "some.php",
  data: "name=John&location=Boston",
  success: function(msg){
    alert( "Data Saved: " + msg );
  }
});
同步请求数据
var html = $.ajax({
 url: "some.php",
 async: false
})
.responseText;传送domdocument,data将不会被强行转化.var xmlDocument = [create xml document];
$.ajax({
  url: "page.php",
  processData: false,
  data: xmlDocument,
  success: handleResponse
});

$.ajaxSetup(settings)设置一个全局的ajax变量.一般用来设置一些公用的请求头设置.
$.ajaxSetup( {
  url: "/xmlhttp/",
  global: false,
  type: "POST"
} );
$.ajax({ data: myData });
$.ajaxTimeout(time) 设置全局ajax请求时间,当time为0或者null时表示不限时间$.ajaxTimeout( 5000 ); //表示最长5秒请求.
$.get(url, params, callback)下载一个页面.url:页面地址,params: 参数,是key/value的mapcallback: 请求结束后调用的方法eg:
$.get("test.cgi",
  { name: "John", time: "2pm" },
  function(data){
    alert("Data Loaded: " + data);
  }
);
$.getIfModified(url, params, callback)与get一样,不同之处在于如果请求的页面返回值不变的话,就不处理请求.
$.getJSON(url, params,callback)与$.get一样,返回值是用json格式后好的.
$.getScript(url, callback)下载脚本文件,并运行.eg:$.getScript("test.js", function(){
  alert("Script loaded and executed.");
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: