0

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

}


?>
4

2 回答 2

0

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

于 2013-09-29T19:57:26.830 回答
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);
    }
});
于 2013-09-29T21:09:15.620 回答