如果您认为这可能是重复的,我深表歉意,但我已经尝试了我遇到的所有方法,但问题仍然存在 - 这让我发疯!
我基本上想在按下按键时将 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/