javascript - 尝试使用 AJAX 将 JavaScript 变量传递给 PHP,但得到 'Undefined index'

标签 javascript php jquery ajax variables

如果您认为这可能是重复的,我深表歉意,但我已经尝试了我遇到的所有方法,但问题仍然存在 - 这让我发疯!

我基本上想在按下按键时将 JS 变量传递给 PHP 变量。

这是我的 PHP 文件设置方式的简化版本(位于 http://localhost/quiz/index.php)

<html>
    <head>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" ></script>
    <head>
    <body>
        <p>
            <?php
                $uid = $_POST['userID'];
                echo $uid;
            ?>
        </p>
        <script src="js/site.js"></script>
    </body>
</html>

然后在 site.js 文件中我有以下内容:

jQuery(document).ready(function($) {

$(document.body)
.keyup(function() {
    var userID = "Jim";
    $.ajax({
        type: "POST",
        url: 'http://localhost/quiz/index.php',
        data: { userID : userID },
        success: function(data)
        {
            alert("success!");
        }
    });
});

});

当然,我希望按下一个键时在段落中输出 JS 变量 userID 值('Jim'),但它只显示:

Notice: Undefined index: userID in C:\xampp\htdocs\quiz\index.php on line 66

但是,当按下某个键时,会弹出“成功”警报。

有谁知道我哪里错了?如果相关的话我正在使用 Xampp!

谢谢!

最佳答案

您需要两个 PHP 文件(或一个带有一些分支逻辑的文件)。

  • 提供加载JS的HTML文档
  • 提供 Ajax 响应

您收到错误是因为 userID 未在加载初始页面的 POST 请求中提交。

然后您需要修改 JavaScript,以便它对数据执行某些操作,而不仅仅是发出警报。

关于javascript - 尝试使用 AJAX 将 JavaScript 变量传递给 PHP,但得到 'Undefined index',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20564858/

相关文章:

javascript - PouchDB/Javascript - 编辑模式将值发送到错误的字段

php - 使用 IFrame 传递用户名和密码

php - 我们如何删除 $file_info[path] 末尾的斜杠 '/'

php - 使用路由时找不到基表或 View

javascript - 在谷歌地图上添加标记左键单击。试图修改一个例子

php - 如何在外部 javascript 代码中使用 php 变量?

jquery - PhoneGap、Bootstrap 还是 JQuery Mobile?

javascript - 在 javascript 中创建简单过滤器函数的最佳方法是什么?

javascript - ComponentDidMount 和 Axios 设置状态之前的组件渲染

javascript - 在 JavaScript 中从对象创建字符串