2

我通过 AJAX 将变量 (winner_id) 传递给 ajax.php。似乎 ajax 工作正常并且它传递了变量,但是我的 ajax.php 似乎没有得到它。我无法将其分配给 php 变量以供进一步使用。

这是我的代码:

JavaScript (AJAX)

function ajaxCall(winner_id) {

        $.ajax
        ({
                url: "ajax.php?winner_id=" + winner_id,
                type: "GET",
                success: function(response)
                  { 
                     alert("The winner was passed!");
                  }
        });
};
ajaxCall(winner_id);

PHP (ajax.php)

<?php 
session_start();

$winner_id = $_GET['winner_id'];
echo json_encode(array("winner_id" => $winner_id));

exit;

?>

现在,例如,我在 AJAX 中传递了 winner_id = 3 。当我打开它时,我的开发者工具/网络/单击 ajax.php/ 预览,这就是我所看到的:

获胜者id:“3” ->这是正确的!

但是,如果我直接在浏览器中调用 ajax.php,我会看到:

{
    winner_id: null
}

如果我var_dump($_GET, $_POST)我得到:array(0) { } array(0) { }

我 100% 肯定我的 ajax 调用工作正常,但是我不知道为什么我不能在 php.ini 中获取这些值。我在 stackoverflow 上看到过类似的问题,但无法找到答案。

我正在使用 .htaccess 进行错误转发,这可能是一个问题,因为对于其他人来说,这段代码工作得很好。我真的需要帮助!谢谢!

4

1 回答 1

0

现在,例如,我在 AJAX 中传递了 winner_id = 3。当我打开它时,我的开发者工具/网络/单击 ajax.php/ 预览,这就是我所看到的:

winner_id: "3" -> which is correct!

如果您检查开发人员工具中的响应,您还应该看到:

{
    winner_id: 3
}

如果您ajax.php在浏览器中调用,那么是的,winner_id 将为空。但是,如果您打电话ajax.php?winner_id=3,那么您应该会看到与上述相同的 JSON 响应。

于 2013-04-29T16:40:58.443 回答