我正在尝试在完成用户凭据验证后从SignIn页面重定向到主页。响应非常好。 在获得成功回复后,我想重定向到主页。 我在客户端使用Javascript,在服务器端使用PHP。
我已尝试过本网站其他地方提供的所有可能解决方案。
以下是SignIn页面上重定向的脚本:
$(document).ready(function(){ $("#SignInForm&#34)。提交(函数(){
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 =&#34; Homepage.html&#34 ;;
应该足够了。但它不起作用。
感谢任何帮助。
答案 0 :(得分:3)
window.location.href = "homepage.html"
?
答案 1 :(得分:0)
问题与提交操作有关:
默认情况下,实际上,提交操作会重定向到操作(表单参数)中提供的网址: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;
在不阻止默认操作的情况下发生的实例示例:
预防默认操作的实例: