ajax()比get/post能设定更细节的参数,getJSON可以进行理想的数据传输 实现GET和POST方法get( url, [data], [callback] )url (String) 发送请求的URL地址.data (Map)(可选参数) 要发送给服务器的数据,以
实现GET和POST方法 get( url, [data], [callback] ) url (String) 发送请求的URL地址. data (Map)(可选参数) 要发送给服务器的数据,以 Key/value 的键值对形式表示,会做为QueryString附加到请求URL中 callback (Callback) (可选参数) 载入成功时回调函数(只有当Response的返回状态是success才是调用该方法) 很显然这是一个专门实现GET方式的函数,使用起来也相当的简单 $.get('login.jsp', { id : 'Robin', password: '123456', gate : 'index' }, function(data, status) { //data为返回对象,status为请求的状态 alert(data); //此时假设服务器脚本会返回一段文字"你好,Robin!", 那么浏览器就会弹出对话框显示该段文字 alert(status); //结果为success, error等等,但这里是成功时才能运行的函数 }); post( url, [data], [callback], [type] ) url (String) 发送请求的URL地址. data (Map)(可选参数) 要发送给服务器的数据,以 Key/value 的键值对形式表示 callback (Callback) (可选参数) 载入成功时回调函数(只有当Response的返回状态是success才是调用该方法) type (String) (可选参数) 请求数据的类型,xml,text,json等 同样是jQuery提供的一个简便函数,其实用法 $.post('regsiter.jsp', { id:'Robin', password: '123456', type:'user' },function(data, status) { alert(data); }, "json"); 事件驱动的脚本载入函数:getScript() getScript( url, [callback] ) url (String) 待载入 JS 文件地址 callback (Function) (可选) 成功载入后回调函数 getScript()函数可以远程载入JavaScript脚本并且执行。这个函数可以跨 域载入JS文件(神奇……?!)。这个函数的意义是巨大 的,它可以很大程度的缩减页面初次载入的代码量,因为你可以根据用户的交互来载入相应的JS文件,而不必在页面初始化的时候全部载入。 $.getScript('ajaxEvent.js', function() { alert("Scripts Loaded!"); //载入ajaxEvent.js,并且在成功载入后显示对话框提示。 }); 构建数据通讯的桥梁:getJSON() getJSON(url,[data],[callback]) url (String) 发送请求地址 data (Map) (可选) 待发送 Key/value 参数 callback (Function) (可选) 载入成功时回调函数。 JSON是一种理想的数据传输格式,它能够很好的融合与JavaScript或其他宿主语 言,并且可以被JS直接使用。使用JSON相比传统的通过 GET、POST直接发送”裸体”数据,在结构上更为合理,也更为安全。至于jQuery的getJSON()函数,只是设置了JSON参数的 ajax()函数的一个简化版本。这个函数也是可以跨域使用的,相比get()、post()有一定优势。另外这个函数可以通过把请求url写 成”myurl?callback=X”这种格式,让程序执行回调函数X。 $.getJSON('feed.jsp',{ request: images, id: 001, size: large }, function(json) { alert(json.images[0].link); //此处json就是远程传回的json对象,假设其格式如下: //{'images' : [ // {link: images/001.jpg, x :100, y : 100}, // {link: images/002.jpg, x : 200, y 200:} //]}; } ); 更底层的ajax()函数 虽然get()和post()函数非常简洁易用,但是对于更复杂的一些设计需求还是无法实现,比如在ajax发送的不同时段做出不同的动作等。jQuery提供一个更为具体的函数:ajax()。 ajax( options ) 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 }