天天看點

異步請求的多種實作方法一、基于JavaScript的原生方法二、基于JQuery(推薦使用)(1) $.getJSON(url,[data],[callback])

一、基于JavaScript的原生方法

//建立XMLHttpRequest對象
var xhr;
if (window.XMLHttpRequest) {
	//非IE6
	xhr = new XMLHttpRequest();
} else {
	xhr = new ActiveXObject('Microsoft.XMLHTTP');
}
xhr.open("get","servlet?name=testParam",true);// open必須放在最前面,第一個參數指定post或者get請求
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xhr.send("id=123456");
xhr.onreadystatechange=function(){
	if(xhr.readyState == 4 && xhr.status == 200) {
		var result = xhr.responseText;
		alert(result);
    }
}
           

注:具體的還可以設定很多東西,過于複雜,不再詳細介紹,不推薦使用。

二、基于JQuery(推薦使用)

(1) $.getJSON(url,[data],[callback])

$.getJSON("/user/query/" + id,function(data){

var paramData = JSON.parse(data);

alert(data.name);

})

參數可以攜帶在url後面,也可以單獨寫出來。

(2) $.Ajax()

$.ajax({

type:"GET",//請求方式為get或者post

url:"servletUrl",//請求的url

data:{name:"zhangSan"},//發送到伺服器的參數

dataType:"text",//伺服器響應的資料類型

success:function(data){

alert(data);

}                

})

(3) $.post(url,[data],[callback]) / $.get(url,[callback])

這兩個寫法基本一緻,get方式參數在url後面,post方式參數可接在url後面,也可以單獨寫出來

$.post("servletURL",{sex:"man"},function(data){

    alert(data);

},"text");

$.get("servletURL?sex=man",function(data){

    alert(data);

},"text");