出于某种原因,“ window.location.href ”功能对我不起作用,似乎无法找出原因。 这是index.php的代码:
<div class="dropdown-menu">
<div style="width: 300px;">
<div class="panel panel-primary">
<div class="panel-heading">Login</div>
<div class="panel-heading">
<label for="email">Email</label>
<input class="form-control" id="email" name="email" required />
<label for="password">Password</label>
<input type="password" class="form-control" id="password" name="password" required />
<p><br/></p>
<a href="#">Forgotten Password</a><input type="button" class="btn btn-success" name="login" id="login" value="Login">
</div>
</div>
<div class="panel-footer"></div>
</div>
</div>
这是jQuery fucntion中提到的“action.php”文件中的函数:
<?php
if(isset($_POST["userLogin"])){
$email = mysqli_real_escape_string($con, $_POST["userEmail"]);
$password = md5($_POST["userPassword"]);
$sql = "SELECT * FROM user_info WHERE email = '$email' AND password = '$password'";
$run_query = mysqli_query($con, $sql);
if($run_query===false){
echo mysqli_error($con);
} else {
$row = mysqli_fetch_array($run_query);
$_SESSION["uid"]= $row["user_id"];
$_SESSION["name"]= $row["first_name"];
echo "welcome";
}
}
?>
这是具有AJAX功能的jQuery:
$(document).ready(function(){
$("#login").click(function(event){
event.preventDefault();
var email = $("#email").val();
var pass = $("#password").val();
$.ajax({
url : "action.php",
method : "POST",
data : {userLogin: 1, userEmail:email, userPassword:pass},
success : function(data){
if(data == "welcome"){
window.location.href = "profile.php";
}
/* alert(data);*/
}
});
});
});
备注: 正如您在jQuery函数中看到的那样:“alert(data);”。我想查看它是否工作并将其放在屏幕上而没有“window.location.href”函数,以查看“if”语句是否正确,并且它确实有效。此外,当我直接转到profile.php文件时,我看到用户已登录,这对我来说意味着SQL函数工作正常,只是它不会重定向我(profile.php)页。如果需要任何进一步的代码,我将提供它。感谢您的帮助。
答案 0 :(得分:-1)
window.location.href
需要相对于您的域名的绝对网址或网址(如果它以/
开头)。
如果您只想更改当前路径的文件部分,可以使用window.location.assign("profile.php")
答案 1 :(得分:-1)
如果您想在同一个域内重定向
window.location.href = "/profile.php";
如果您想重定向到另一个域
window.location.href = "http://www.antotherdomainname.com/profile.php";