ajax到location.replace(ajax. responsetext)永远重新加载
ajax to location.replace(ajax.responseText) reloads forever
我不知道为什么会发生这种情况,而且没有相关文档:
<!DOCTYPE html>
<html>
<head>
<style>
</style>
</head>
<body>
<h1>HideSite</h1>
<script>
var ajax;
if (window.XMLHttpRequest) {
ajax = new XMLHttpRequest();
} else {
ajax = new ActiveXObject("Microsoft.XMLHTTP");
}
ajax.onreadystatechange = function() {
location.replace(ajax.responseText);
}
if (navigator.userAgent == 'code') {
ajax.open("POST", "location.txt", true);
ajax.send();
}
</script>
</body>
</html>
location.txt包含文件的位置。
<标题>更新:代替replace()
,我插入这个:alert(ajax.responseText)
。它这样做了三次,只有在第三次时窗口才真正包含任何东西。
if (ajax.responseText != undefined && ajax.responseText != "") {
alert(ajax.responseText);
}
当我添加这个时,它只做了两次,两次都包含正确的字符串
标题>在AJAX调用的生命周期中,onreadystatechange
事件被击中多次;这些点击中的大多数实际上不会传递任何响应文本。就绪状态如下:
0: request not initialized
1: server connection established
2: request received
3: processing request
4: request finished and response is ready
正如您所说的"在每次状态更改时"而不是"当响应准备好时",您的AJAX调用通常还没有收到响应。我建议修改您的事件以包含if
语句,如下所示:
ajax.onreadystatechange = function() {
if (ajax.readyState == 4) { //WHEN RESPONSE IS READY
location.replace(ajax.responseText);
}
}
相关文章:
- Ajax文件加载和<输入>文件加载
- 启动选项卡ajax在加载页面时加载内容
- 使用jquery/ajax显示加载图像
- 在AJAX jQuery加载()之后运行jQuery代码
- 使用同步ajax调用加载屏幕
- 数据表 AJAX 筛选器重新加载数据
- 按钮在第一次成功的 ajax 数据加载后不起作用
- 让 PowerReviews 使用 AJAX 正确加载
- 如何在IE9中使用ajax启用加载本地文件
- Jquery 工具提示未随 AJAX 数据加载一起显示
- 分页-标准php或不使用ajax重新加载页面
- jCarousel通过Ajax动态加载内容
- 谷歌地图API-在从ajax页面加载新数据之前清除标记、多段线
- 无刷新功能的Ajax内容加载
- 如何用ajax实现加载显示
- jQuery倒计时-应用于通过AJAX/PHP加载的新元素
- Yii:使用 ajax 动态加载新模型
- PHP Ajax仅加载新内容
- AJAX调用后,新加载的CSS选择器对jQuery.ech()不可用
- 在 jQuery 的 ajax.load() 之后,无法将元素附加到新加载的内容中