1. 程式人生 > >js原生和ajax的get和post方法以及jsonp的原生寫法

js原生和ajax的get和post方法以及jsonp的原生寫法

login.onclick = function(){
var xhr = new XMLHttpRequest();
xhr.open("get","http://localhost/ajax2/test2.php?username="+username.value+"&pwd="+pwd2.value,true);
xhr.send();
xhr.onreadystatechange = function(){
if (xhr.readyState == 4) {
if (xhr.status>=200 && xhr.status<300) {
alert(xhr.responseText);
};
};
}

}

ajax方法

btn.onclick = function(){
ajax(
       "GET",
       "http://localhost/ajax2/my02.php",
       {xingming:xingming.value,pwd:pwd.value},
       function(data){
console.log(data);
},
function(errCode){
console.log(errCode);
}
)

post方法傳參

它與個get方法的區別:

01 安全型。post更安全。
02 速度.    get的速度快
03 數量級。 post的數量級更大一些.

具體實現:

var  xhr = new XMLHttpRequest();

xhr.open("post","http://localhost/ajax2/login2.php",true);
var data = {
username:username1.value,
pwd:pwd1.value
}

// 設定請求頭 告訴伺服器發給他的資料是json格式

xhr.setRequestHeader("content-type","application/json");

xhr.send( JSON.stringify(data) );
xhr.onreadystatechange = function(){
if (xhr.readyState == 4) {
if ( xhr.status >= 200 && xhr.status < 300 ) {
alert(xhr.responseText);
};
};
}

原生jsonp 方法

var sc = document.createElement("script");

sc.type = "text/javascript";

document.body.appendChild(sc);

sc.src = "http://localhost/ajax2/jsonp.php?cb=myCallBack";

function myCallBack(data){
console.log(data);
}