总结⼀下query中ajax的⼏种⽅法
1.$.ajax()
$.ajax({
type:"POST",  //提交数据的类型 POST GET
url:"testLogin.aspx", //提交的⽹址
//提交的数据
js获取json的key和value
data:{Name:"sanmao",Password:"sanmaoword"},
//返回数据的格式
datatype: "html",//"xml", "html", "script", "json", "jsonp", "text".
//在请求之前调⽤的函数
beforeSend:function(){$("#msg").html("logining");},
/
/成功返回之后调⽤的函数
success:function(data){
$("#msg").html(decodeURI(data));
}  ,
//调⽤执⾏后调⽤的函数
complete: function(XMLHttpRequest, textStatus){
sponseText);
alert(textStatus);
//HideLoading();
},
//调⽤出错执⾏的函数
error: function(){
//请求出错处理
}
});
注意:
1.data主要⽅式有三种,html拼接的,json数组,form表单经serialize()序列化的;通过dataType指定,不指定智能判断。
2.$.ajax只提交form以⽂本⽅式,如果异步提交包含<file>上传是传过不过去,需要使⽤jquery.form.js的$.ajaxSubmit
1. $.get()通过 HTTP GET请求从服务器上请求数据。
语法:$.get(url, [data], [callback], [type]);
参数含义:
1.URL:必须,规定请求的URL。
2.data:可选,待发送 Key/value 参数。
3.callback:可选,请求成功后所执⾏的回调函数。
实例代码:
$.getJSON("www.cupcat/index.jsp", {"name":"zhangsan","age",20}, function(result){
alert("测试");
}"json");
<()⽅法⼀样
$.post()和$.get()⽅法的结构和使⽤⽅式相同,不过它们之间仍然有以下区别:
a. GET请求会将参数跟在URL后进⾏传递,⽽POST请求则是作为HTTP消息的实体内容发送给Web服务器。
b. GET⽅式对传输的数据有⼤⼩限制(通常不⼤于2KB),⽽使⽤POST⽅式传递的数据量要⽐GET⽅式⼤得多(理论上不受限制)
c. GET⽅式请求的数据会被浏览器缓存起来,因此其他⼈就可以从浏览器的历史记录中读取到这些数据,例如账号和密码等。在某种情况下,GET⽅式会带来严重的安全性问题,⽽POST⽅式相对来说可以避免这些问题
d. GET⽅式和POST⽅式传递的数据在服务器端的获取也不相同
4.$.getScript():jQuery提供了此⽅法来直接加载js⽂件,与加载⼀个HTML⽚段⼀样简单⽅便,并且不需要对JavaScript⽂件进⾏处理,JavaScript⽂件会⾃动执⾏。
$(function () {
$("#send").click(function () {
$.getScript("test.js");
});
})
使⽤回调函数:
$.getScript("lor.js", function () {
$("#go").click(function () {
//do something ...
});
1. .getScript()相同
$.getJSON('test.json', function(data) {
});
使⽤JSONP形式的回调函数来加载其他⽹站的JSON数据。例如:
$(function () {
$('#send').click(function() {
$.getJSON("api.flickr/services/feeds/?tags=car&tagmode=any&format=json&jsoncallback=?",
function(data){
$.each(data.items, function( i,item ){
$("<img class='para'/> ").attr("src", dia.m).appendTo("#resText");
if ( i == 3 ) {
return false;
}
});
}
);
})
})
/**
*  JSONP(JSON with Padding)是⼀个⾮官⽅的协议,它允许在服务器端集成Script tags返回⾄客户端,通过JavaScript Callback的形式实现跨域访问    *  上述的url地址并不能请求到数据,仅⽤作说明。
* */
6.$.load()
语法:load(url,data,function(response,status,xhr))
url 规定要将请求发送到哪个 URL。
data    可选。规定连同请求发送到服务器的数据。
function(response,status,xhr)
可选。规定当请求完成时运⾏的函数。
额外的参数:
response - 包含来⾃请求的结果数据
status - 包含请求的状态("success", "notmodified", "error", "timeout"或"parsererror")xhr - 包含 XMLHttpRequest 对象
实例:
1。加载 feeds.html ⽂件内容:
$("#feeds").load("feeds.html");
2。与上⾯的实例类似,但是以 POST 形式发送附加参数并在成功时显⽰信息:
$("#feeds").load("feeds.php", {limit: 25}, function(){
alert("The last 25 entries in the feed have been loaded");
});
3。加载⽂章侧边栏导航部分⾄⼀个⽆序列表:
HTML 代码:
<b>jQuery Links:</b>
<ul id="links"></ul>
$("#links").load("/Main_Page #p-Getting-Started li");

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。