ajaxrequest.打开被取消窗口.位置.href
ajaxrequest.open getting cancelled by window.location.href
好的,这是我得到的。我有这个投票系统,你点击一个按钮,它发送一个文本字段到php脚本使用ajaxrequest.open()。在它将数据发送到php脚本后,我希望它加载一个新页面。以下是我的(精简版)
var mytext = document.getElementById('textfield').value;
ajaxRequest.open("GET", "vote.php?mytext="+mytext, true);
ajaxRequest.send(null);
window.location.href = "thanksforvoting.htm";
因此它将文本字段发送给vote.php -只有当我取出window.location.href line时才有效。只要这一行还在,它就不会做ajaxrequest。我想也许它正在取消,因为它正在加载另一个页面。
我想也许我可以使用php 'header'命令,但这似乎不起作用。它不会把我带到那页。上面的脚本将我带到页面,但它没有到达php脚本。如果我取出window。location。href php脚本会运行但显然不会跳转到页面
由于ajax请求是异步发出的,因此需要使用回调,否则重定向将在请求完成之前发生。在您的例子中,应该是这样的:
var mytext = document.getElementById('textfield').value;
ajaxRequest.onreadystatechange = callback;
ajaxRequest.open("GET", "vote.php?mytext=" + encodeURIComponent(mytext), true);
ajaxRequest.send(null);
function callback() {
if (ajaxRequest.readyState === 4 && ajaxRequest.status === 200) {
window.location.href = "thanksforvoting.htm";
}
}
MDN有一个很好的Ajax入门指南
相关文章:
- JavaScript窗口.位置不;我不在内容编辑器Web部件中工作
- JS窗口.位置不起作用
- 是否可以模拟 qUnit 测试的窗口位置对象
- 窗口位置href更改不会重新加载
- 如何在提交事件的底部设置窗口位置
- 如何在模式打开时更改窗口.位置
- 谷歌地图偏移标记/信息窗口位置(panTo/setCenter)
- 书签窗口位置javascript
- 单元测试窗口位置分配的角度问题
- JavaScript窗口位置延迟
- 如果类名和窗口位置匹配,请执行一些操作
- 会话丢失窗口.位置.href.
- JavaScript:window.conf,有两个窗口位置
- 如何从顶部获取窗口位置(以像素为单位)
- 如何在窗口位置之前显示消息 2 秒
- 休息标记位置 + 信息窗口位置
- 将标头添加到窗口.位置.路径名
- 窗口位置向上一级
- 将窗口位置替换为锚点
- 在谷歌地图中设置信息窗口位置