我目前正在努力弄清楚如何使用Ajax将变量从JS传递到PHP。我尝试使用以下Ajax代码
xhr = new XMLHttpRequest();
function myFunction() {
xhr.open("GET", "welcome.php");
xhr.send("your_name=john&your_age=40");
xhr.onreadystatechange = function() {
if(xhr.readyState === 4) {
document.getElementById("output").innerHTML = xhr.responseText;
}
}
}
结合名为welcome.php的PHP脚本,如下所示:
$user = $_GET['your_name'];
var_dump($user);
然而,出于某种原因,这会输出'NULL'而我无法解决原因。
我也试过将echo $user;
包含在welcome.php文件中,但这不会返回任何内容。
任何人都知道为什么会这样吗?
答案 0 :(得分:2)
您正在使用方法GET,如.send documentation
中所述如果请求方法是GET或HEAD,则忽略该参数并将请求体设置为null。
你想做的是
xhr.open("GET", "welcome.php?your_name=john&your_age=40");