用JS发起一个ajax请求,以供4步:
1、创建一个对象
var xhr=new XMLHttpRequest();
2、监听请求成功后的状态变化
xhr.onreadystatechange=function(e){//状态变化时,函数被回调
if(request.readyState==4){//成功完成
//判断响应结果
if(request.status==200){
//成功,通过responseText拿到文本
}else{
//失败
}
}
}
3、设置请求参数
xhr.open(method,url,boolean async);
method:请求所使用HTTP的方法,get/post
url:该请求要访问的地址
boolean async:布尔参数,ture:异步操作;false:同步操作
4、发送请求
xhr.send();
一个例子完整代码:
function success(text) {
var textarea = document.getElementById('test-response-text');
textarea.value = text;
}
function fail(code) {
var textarea = document.getElementById('test-response-text');
textarea.value = 'Error code: ' + code;
}
var request = new XMLHttpRequest(); // 新建XMLHttpRequest对象
request.onreadystatechange = function () { // 状态发生变化时,函数被回调
if (request.readyState === 4) { // 成功完成
// 判断响应结果:
if (request.status === 200) {
// 成功,通过responseText拿到响应的文本:
return success(request.responseText);
} else {
// 失败,根据响应码判断失败原因:
return fail(request.status);
}
} else {
// HTTP请求还在继续...
}
}
// 发送请求:
request.open('GET', '/api/categories');
request.send();
alert('请求已发送,请等待响应...');