post请求:
var postData = {
"username": "13321503898",
"password": "a123456",
"imsi":"123455677"
};
var xhr = new XMLHttpRequest();
xhr.open("POST", "http://139.199.156.43:9999/LK/login/loginByUsername", true);
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xhr.onreadystatechange = function(){
var XMLHttpReq = xhr;
/**
XMLHttpReq.readyState
0: 请求未初始化
1: 服务器连接已建立
2: 请求已接收
3: 请求处理中
4: 请求已完成,且响应已就绪
**/
if (XMLHttpReq.readyState == 4) {
if (XMLHttpReq.status == 200) {
var data = XMLHttpReq.responseText;
alert(data)
console.log(data);
var json = JSON.parse(JSON.parse(data));
}else if(XMLHttpReq.status == 100){
}else if(XMLHttpReq.status == 300){
}else if(XMLHttpReq.status == 400){
}else if(XMLHttpReq.status == 500){
}else if(XMLHttpReq.status == 0){
/** 0不是http协议的状态,关于XMLHttpReq.status的说明:
1、If the state is UNSENT or OPENED, return 0.(如果状态是UNSENT或者OPENED,返回0)
2、If the error flag is set, return 0.(如果错误标签被设置,返回0)
3、Return the HTTP status code.(返回HTTP状态码)
第一种情况,例如:url请求的是本地文件,状态会是0
第二种情况经常出现在跨域请求中,比如url不是本身网站IP或域名,例如请求www.baidu.com时
第三种,正常请求本站http协议信息时,正常返回http协议状态值
**/
}
}
};
xhr.send(JSON.stringify(postData));
如果是get请求,将请求方式换成 get,send()方法中的data不需转换成字符串,用法和ajax类似,ajax将http请求重新封装了