JAVASCRIPT:在本地主机上成功响应Ajax后重定向到主页
JAVASCRIPT: Redirecting to Homepage after successful Ajax response on localhost
用户凭据验证完成后,我正试图从登录页面重定向到主页。反应非常好。一旦得到成功的回复,我想重定向到主页。我在客户端使用Javascript,在服务器端使用PHP。
我已经尝试了本网站其他地方提供的所有可能的解决方案。
以下是SignIn页面上重定向的脚本:
$(document).ready(function){$("#SignInForm").submit(function(){
var em = document.getElementById("Email").value; var ps = document.getElementById("Password").value; var obj; $.ajax({ url: 'WebService/SignIn.php', type: 'post', async: false, data: { Email: em, Password: ps }, dataType: 'json', success: function(data) { var str = JSON.stringify(data); obj = JSON.parse(str); if(obj.status == 1) { window.location="Homepage.html"; } else { alert("Invalid Username/Password") } }, error: function(xhr){ //alert("An error occured: " + xhr.status + " " + xhr.statusText ); alert("An error occured. Please Try Again"); } }) }); }); </script>
一个简单的
window.location="Homepage.html";
应该足够了。但它不起作用。
感谢您的帮助。
window.location.href = "homepage.html"
?
问题与提交操作有关:
事实上,默认情况下,提交操作重定向到操作中提供的url(表单参数):https://developer.mozilla.org/en/docs/Web/API/HTMLFormElement/submit
因此,为了能够执行AJAX请求,您必须首先阻止提交执行的默认操作。
只需更换:
$("#SignInForm").submit(function(){
var em = document.getElementById("Email").value;
带有:
$("#SignInForm").submit(function(e){ // <-- note the e
e.preventDefault();
var em = document.getElementById("Email").value;
在不阻止默认操作的情况下发生的实际示例:
http://jsfiddle.net/hhjqqeza/
通过防止默认操作发生的实际示例:
http://jsfiddle.net/hhjqqeza/1/
相关文章:
- 不再使用innerHTML进行AJAX响应.(代码未得到响应)
- 为什么可以't我使用了AJAX响应的一部分
- Ajax响应转换
- 如何在数据表中设置从Ajax响应选中的复选框
- 在Javascript中的ajax响应之后未调用Dropdown事件
- RubyonRails-Ajax响应的问题
- Ajax:Ajax响应中的链接不起作用
- 如何执行ajax响应返回的javascript函数
- 带有 AJAX 响应或 AJAX 响应的 IF 条件.响应.Text 不起作用
- 正在检查ajax响应中的错误数据
- 如何从ajax响应中重新加载整个页面
- 如何使用jQuery/Ajax响应特定的提交按钮
- 是浏览器在AJAX响应中自动处理的HTTP标头
- Masony无法处理ajax响应
- 使用yii2表单等待ajax响应
- jquery返回ajax响应和用户定义的变量到函数
- 使用Ajax响应更新TextBox
- 如何在jquery ajax响应后设置jquery滑块的起始值
- Rails 4中不执行Ajax响应
- jquery解析ajax响应