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

来源:互联网 发布:视频播放器编程 编辑:程序博客网 时间:2024/05/16 18:20
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);
}

原创粉丝点击