【发布时间】:2022-01-24 03:48:07
【问题描述】:
我正在尝试将 JS 变量发送到 PHP 脚本(包含在我尝试使 ajax 工作的页面中)
index.php
include 'PHP/display.php';
<button id="click" onclick="show();">Click !</button>
<script>
function show(){
var str = "Yes";
$.ajax({
method : 'post',
url : 'PHP/display.php',
data: {
str : str
},
success: function(data) {
console.log(data);
}
});
}
</script>
显示.php
<?php
echo isset($_POST['str']) ? $_POST['str'] : "No";
?>
这一直显示“否”,但控制台显示我想要的“是”
这段代码是我第一次尝试使用 ajax,这就是为什么我尽量保持简单,但它不起作用。
我一直在 StackOverflow 上寻找几个小时,但没有一种解决方案适合我。
也许我错过了什么,请帮助我:(
【问题讨论】:
-
使用
$_POST而不是$_REQUEST,因为使用 ajax,您将使用POST方法发送数据 -
我想你的意思是使用
$_POST -
该按钮是否在表单中?如果它在表单中,那么由于表单默认提交过程,页面可能会重新加载
-
我用 POST 试过了,同样的问题,而且按钮不在表单中
-
我认为你有一个误解,即通过包含同一个文件,ajax 发送的数据将在索引中可用。它不是那样工作的。每次运行文件时,它都希望将该数据作为输入。每个实例在运行时对最后一个实例一无所知
标签: javascript php html jquery ajax