AJAX没有通过javascript进行响应
AJAX not echoing through javascript
好的,所以我正在尝试让PHP将用户数据保存到XML中,然后将用户转发到主页上。。但当运行JavaScript时,它不会在脚本末尾捕获echo和header();
PHP我希望回声
echo "<b>Congratulations registration was Successful.<br /> Your Customer ID is: $id4</b>";
echo "<br/>";
echo "redirected automatically in 7 seconds";
header( "Refresh:7; buyonline.htm", true, 303);
$doc->save("data/customer.xml");
}
以及JavaScript函数
var firstname = document.getElementById("firstName").value;
var lastname = document.getElementById("lastName").value;
var email = document.getElementById("email").value;
var password = document.getElementById("password").value;
var password2 = document.getElementById("password2").value;
var number = document.getElementById("pNumber").value;
var type = "";
var input = document.getElementsByTagName("input");
xHRObject.open("GET", "testregristation.php?firstName=" + firstname + "&lastName=" + lastname + "&email=" + email + "&password="+password+"&pNumber="+number, true);
xHRObject.onreadystatechange = function() {
if (xHRObject.readyState == 4 && xHRObject.status == 200)
{
document.getElementById('information').innerHTML = xHRObject.responseText;
}
xHRObject.send(null);
显然,这些都是小片段,但我不明白为什么它不会将响应发送到屏幕上——它以"firebug"显示响应。。我的PHP还做了一个电子邮件检查,以确保它没有被使用,这一点得到了完美的回应。
我还没有真正测试过你的代码,以确保我要说的是100%正确的。我从未尝试过在ajax响应中以这样的方式使用header。但是,我想如果您想重定向用户,只需使用javascript即可。
PHP:
echo "<b>Congratulations registration was Successful.<br /> Your Customer ID is: $id4</b>";
echo "<br/>";
echo "redirected automatically in 7 seconds";
$doc->save("data/customer.xml");
Javascript:
if (xHRObject.readyState == 4 && xHRObject.status == 200)
{
document.getElementById('information').innerHTML = xHRObject.responseText;
setTimeout(function()
{
window.location.pathname = "/buyonline.htm";
}, 7000 /* 7 seconds */);
}
编辑:现在,因为您使用javascript重定向页面,您还可以倒计时秒数:
PHP:
echo "<b>Congratulations registration was Successful.<br /> Your Customer ID is: $id4</b>";
echo "<br/>";
echo "redirected automatically in <span id="redirect-countdown">7 seconds</span>";
$doc->save("data/customer.xml");
Javascript:
if (xHRObject.readyState == 4 && xHRObject.status == 200)
{
document.getElementById('information').innerHTML = xHRObject.responseText;
var countdown = document.getElementById("redirect-countdown");
var count = 8;
var interval = setInterval(function()
{
count--;
countdown.innerText = count + " second" + (count > 1 ? "s" : "");
if(count <= 0)
{
clearInterval(interval); // Kill the interval timer
window.location.pathname = "/buyonline.htm"; // Redirect to that page
}
}, 1000);
}
相关文章:
- MockJax没有在JavaScript应用程序中发送对我AJAX请求的响应
- 如何从SeleniumWebdriver获取异步Javascript响应
- 如何在 JavaScript 和 HTML 中更改对输入框的提示响应
- 显示IIS上javascript文件(SOAP请求)的XML响应
- 带有对象解析的响应javascript ajax失败
- ajax响应JavaScript中的文档对象
- 为什么不't使用PHP动态生成的HTML响应JavaScript
- JSON 分页响应 JavaScript
- 从 stomp 消息响应 (JavaScript) 迭代 json 数组
- 检查我的服务器是否正在响应[Javascript]
- 在rails 4中将remote选项设置为true后,Link_to标签没有响应javascript
- 我怎么能强迫元素在一个固定的定位元素响应javascript的onclick事件在Android web浏览器
- 在CodeIgniter中,模板上动态添加的内容不响应Javascript/AJAX/Jquery
- 如何在PHP中有一个动作响应javascript
- Vimeo不响应Javascript在iOS应用程序
- 编辑表设计以响应Javascript启用/禁用
- 选项卡只响应javascript和CSS
- 使用 PyQt 输出和响应 Javascript
- Angular JS响应Javascript所做的更改
- Facebook不响应Javascript API调用