【问题标题】:AJAX sends the variable properly, but unable to retrieve it in PHPAJAX 正确发送变量,但无法在 PHP 中检索它
【发布时间】:2013-04-23 09:48:12
【问题描述】:

我通过 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/预览这是我看到的:

winner_id: "3" -> 正确!

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

{
    winner_id: null
}

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

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

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

【问题讨论】:

  • 请将您的表单标签放在这里
  • 不,我在本地主机 @vcardillo 上运行它
  • 对不起,我是webdev的新手,你说的是哪种形式?谢谢! @SamithaHewawasam
  • $_GET['winner_id'];这是从哪里来的
  • 但是,如果我直接在我的浏览器中调用 ajax.php...,如果你调用 ajax.php 当然它会是 null 如果你调用 @987654325 @

标签: php javascript ajax post get


【解决方案1】:

现在,例如,我在 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 响应。

【讨论】:

    猜你喜欢
    • 2016-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 2019-06-09
    • 1970-01-01
    • 2014-10-01
    • 2015-09-30
    相关资源
    最近更新 更多