我有一个简单的AJAX调用,以及一个回声的PHP脚本。出于某种原因,我的AJAX没有记录响应。该脚本执行,但它写入另一个页面。我认为我的Javascript存在问题,但同样适用于其他文件也完全正常。任何见解都会很棒。
$.ajax({
url: url,
type: type,
data: data,
success: function(response){
console.log(response);
}
});
这是我测试过的PHP回声。 AJAX调用中的数据变量只是一组填充在别处的输入文本值。
<?php
echo "Hello World";
?>
我想发布完整的PHP脚本会更有帮助。
<?php
include 'dbcon.php';
if(isset($_POST['text_login_username'], $_POST['text_login_password'])) {
$dbcon=getConnection();
$loginUsername=$_POST['text_login_username'];
$loginPassword=$_POST['text_login_password'];
/*SQL INJECTION PREVENTION*/
$loginUsername=stripslashes($loginUsername);
$loginPassword=stripslashes($loginPassword);
$loginUsername = mysqli_real_escape_string($dbcon,$loginUsername);
$loginPassword = mysqli_real_escape_string($dbcon,$loginPassword);
/*CHECK IF THERE IS A ROW WITH THIS USERNAME AND PASSWORD*/
$sqlRequest = "SELECT * FROM userData WHERE userName='$loginUsername' and userPassword='$loginPassword'";
$sqlRequestResult=mysqli_query($dbcon,$sqlRequest);
$verifySqlRequest=mysqli_num_rows($sqlRequestResult); //count number of rows satisfying the request
if($verifySqlRequest==1){
setcookie("user",$loginUsername);
header("location:http://localhost/mySite/dashboard.html");
exit;
}
else{
echo "[ext.W]: Wrong user name or password..."; //THIS DOESN'T GET LOGGED.
}
}
?>
答案 0 :(得分:0)
嗯,示例似乎没问题。
首先检查在AJAX选项中给定的URL是否在浏览器中键入时正确响应
请记住,如果您希望PHP正确响应,请求应通过Apache(或其他服务器端服务器)。如果浏览器为您提供404(找不到页面),请检查Apache服务器是否配置正确 - 您请求的URL应显示在Vhosts设置中。
答案 1 :(得分:0)
问题是你没有在你的ajax请求中指定POST:
$.ajax({
url: url,
type: type,
method : "POST", // this needs to be there! Default is GET
data: data,
success: function(response){
console.log(response);
}
});