试图使用AJAX将JavaScript变量传递给PHP,但得到';未定义索引';

试图使用AJAX将JavaScript变量传递给PHP,但得到';未定义索引';,javascript,php,jquery,ajax,variables,Javascript,Php,Jquery,Ajax,Variables,如果你认为这可能是重复的,我很抱歉,但我已经尝试了我遇到的一切,问题仍然存在-这让我发疯 我基本上想在每次按下键时将JS变量传递给PHP变量 这是如何设置我的PHP文件的简化版本(位于http://localhost/quiz/index.php) 当然,我希望按下一个键时在段落中输出JS变量userID值('Jim'),但它只显示: Notice: Undefined index: userID in C:\xampp\htdocs\quiz\index.php on line 66 但是,

如果你认为这可能是重复的,我很抱歉,但我已经尝试了我遇到的一切,问题仍然存在-这让我发疯

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

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

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

Notice: Undefined index: userID in C:\xampp\htdocs\quiz\index.php on line 66
但是,当按下某个键时,会弹出“成功”警报

有人知道我哪里出错了吗?如果相关的话,我正在使用Xampp

谢谢

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

  • 一个是提供加载JS的HTML文档
  • 一个是提供Ajax响应
您之所以会收到错误,是因为在加载初始页面的POST请求中未提交
用户ID


然后你需要修改你的JavaScript,这样它就可以处理
数据,而不是仅仅发出警报。

试试`data:{“userID”:userID},`而不是`data:{userID:userID},`。谢谢你的回复!虽然我现在更糊涂了!文件中包含哪些内容来提供Ajax响应?(对不起,我对Ajax非常缺乏经验)它应该是一个程序,可以读取您发布到其中的数据,对该数据执行任何您想执行的操作,然后以您想告诉浏览器的任何方式响应该数据。(在这种情况下,它只会输出
$\u POST['userID']
,这是毫无意义的,因为浏览器已经有了这些信息,但你确实说你在简化)我为我的noob问题道歉,但我仍然不知道下一步该怎么做。我只想将JS变量值发送到PHP变量。如何按照您的建议在POST请求中提交
userID
?我理解错误最初出现的原因(因为PHP变量最初没有设置),但当按下一个键时,它不应该接收JavaScript值吗?你能为我指出我需要做的事情的正确方向吗?确实如此,但这是一个不同的请求,一个不同的响应(返回到XMLHttpRequest对象)。它不会覆盖当前页面。Ajax的全部目的是不覆盖当前页面。
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!");
        }
    });
});

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