我如何知道 ajax 请求何时完成
How do I know when an ajax request is completed
如何知道所有ajax调用何时完成,现在我只是使用延迟超时来等待请求完成,这些是更好的方法?我想确保ajax请求完成...
XMLHttpRequest
对象具有readyState
属性和onreadystatechange
,您可以像这样操作:
var xmlhttp;
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
}
else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4) { // xmlhttp.status==200 == successful request
// What you want here
}
}
xmlhttp.open("GET", "foo_url.php", true);
xmlhttp.send();
}
如果你正在使用 jQuery 库,你可以用 jQuery 更简单地做到这一点:
$.ajax({
url: 'foo_url.php',
complete: function() {
// What you want here
}
});
如果你使用的是jQuery的AJAX,它有一个完整的选项,请参阅文档
$.ajax({
url: 'foo.php',
complete: function(jqXHR, textStatus) {
alert('AJAX call complete');
}
});
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
// This is when your Ajax request is complete
}
}
这取决于
你的库;例如,如果你使用的是jQuery,那么你可以使用success:
参数,如果是javascript,那么你可以使用if (xmlhttp.readyState==4 && xmlhttp.status==200)
语句。
如果您使用 xmlhttp 对象进行 ajax
调用,那么当 xmlhttp.readyState==4 时,它被视为 ajax 请求已完成。
$.ajax({
url: 'abc.php',
data: "&id=" + id ;
complete: function(data) {
alert(data.responseText);
}
});
相关文章:
- ajax请求的顺序总是不同的
- Meteor如何接收HTTP请求
- 有没有一种方法可以防止img get请求使用css或js发生
- 从ajax请求中获取javascript对象
- JSONP请求返回结果,但也触发error_callback
- 在localhost Dev Box上测试JSONP请求的最佳方式
- 当浏览器请求部分内容范围请求时,如何检测pdf何时加载到iframe中
- NodeJS&Socket.IO:发出请求事件并获取响应,我应该在何时/何地绑定侦听器
- Web 浏览器何时请求动态创建的 iframe 的 src 内容
- 我如何知道 ajax 请求何时完成
- 在Node.js中,我如何判断何时解析完网页
- 检查所有 Ajax 请求何时完成 - 纯 JavaScript
- 知道何时从HTML表单完成HTTP请求
- 请求关于:何时在Google Maps API v3中触发remove_at事件的进一步信息
- 一种知道Angular $http何时在“请求”的方法
- 何时为API请求刷新过期的Firebase3 (Web)令牌
- 可以'无法检测发布请求何时完成
- 在ember数据中是否有一个钩子,我可以用来知道它何时真正向服务器发送请求
- React Native:何时/如何启动网络请求
- 如何检测几个AJAX请求何时完成或失败