[英]How To Return xmlHttp request status?
I would like to know how to verify the status of an xmlHttp request after sending it. 我想知道在发送后如何验证xmlHttp请求的状态。 How do I go about doing it?
我该怎么做呢? Thanks.
谢谢。
function sendRequest(){
//get refresh access token
var accessToken = 'xxx';
//get user_id
var userid = document.getElementById('userid').value;
//get request_token
var requestToken = document.getElementById('requestToken').value;
//insert database
var xmlHttp = new XMLHttpRequest();
var url="database.php";
var parameters = "accessToken=" + accessToken + "&userid=" + userid + "&requestToken=" + requestToken ;
xmlHttp.open("POST", url, true);
//send request
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length", parameters.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.send(parameters);
//check status
if(xmlHttp.status == Ok){
alert('success!');
}else {
alert('error');
}
}
I think this is what you're looking for 我认为这就是您要寻找的
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("demo").innerHTML =
this.responseText;
}
};
xhttp.open("GET", "http://your-url.com/your-page.php", true);
xhttp.send();
The onreadystatechange
event is triggered every time the readyState
changes. 每当
readyState
更改时,都会触发onreadystatechange
事件。
During a server request, the readyState changes from 0 to 4:
在服务器请求期间,readyState从0更改为4:
0: request not initialized
0:请求未初始化
1: server connection established 2: request received1:建立服务器连接2:收到请求
3: processing request3:处理要求
4: request finished and response is ready4:请求已完成且响应已准备就绪
So in your code, you can add the listener to check for onreadystatechange
event and check the status in it, like below- 因此,在您的代码中,您可以添加侦听器以检查
onreadystatechange
事件并检查其中的状态,如下所示:
function sendRequest(){
//get refresh access token
var accessToken = 'xxx';
//get user_id
var userid = document.getElementById('userid').value;
//get request_token
var requestToken = document.getElementById('requestToken').value;
//insert database
var xmlHttp = new XMLHttpRequest();
var url="database.php";
var parameters = "accessToken=" + accessToken + "&userid=" + userid + "&requestToken=" + requestToken ;
//Here is the onreadystatechange event listener.
xmlHttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
alert('success');
} else if(this.readyState == 4 && this.status != 200) {
alert('error');
}
};
xmlHttp.open("POST", url, true);
//send request
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length", parameters.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.send(parameters);
//check status
if(xmlHttp.status == Ok){
alert('success!');
}else {
alert('error');
}
}
<!DOCTYPE html>
<html>
<body>
<h2>Using the XMLHttpRequest object</h2>
<button type="button" onclick="loadXMLDoc()">Change Content</button>
<p id="test"></p>
<script>
function sendRequest(){
//get refresh access token
var accessToken = 'xxx';
//get user_id
var userid = document.getElementById('userid').value;
//get request_token
var requestToken = document.getElementById('requestToken').value;
var xmlHttp = new XMLHttpRequest();
var xhttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("test").innerHTML =
this.responseText;
}
};
//insert database
var url="database.php";
var parameters = "accessToken=" + accessToken + "&userid=" + userid + "&requestToken=" + requestToken ;
xmlHttp.open("POST", url, true);
//send request
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length", parameters.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.send(parameters);
}
</script>
</body>
</html>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.