jQuery AJAX 响应未显示


jQuery AJAX response not displaying

我有一个简单的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.
    }
}

?>

嗯,例子似乎还可以。
首先,当您在浏览器中键入 AJAX 选项中的给定 URL 时,请检查它是否正确响应。
请记住,如果您希望 PHP 正确响应,请求应该通过 Apache(或其他服务器端服务器)。如果浏览器显示 404(未找到页面),请检查 Apache 服务器配置是否正确 - 您请求的 URL 应出现在 Vhosts 设置中。

问题是您没有在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);
    }
});