嗨,我正在尝试使用 Ajax 和 Jquery 将简单的 html 数据传递到 php 服务器。所以我做了一个非常简单的脚本:
<script>
$("document").ready(function(){
$(".enviarJson").on("click",function(){
var valor = $(this).attr("value");
// alert(valor);
$.ajax({
type: "POST",
dataType: "HTML",
url: "devolve.php",
data: valor,
success: function(data) {
alert(data);
}
});
return false;
});
});
</script>
这是 html:
<form>
<button class="enviarJson" value="q1?a1">Answer 1</button>
<button class="enviarJson" value="q1?a2">Answer 2</button>
</form>
现在我的问题是,在不知道 $_POST[] 的 id 的情况下,如何将数据传递到 devolve.php ?
例如,使用常规的帖子表单,我可以执行以下操作:
<form action="devolve.php" method="post">
Name: <input type="text" name="name"><br>
<input type="submit">
</form>
然后我可以通过执行以下操作来获取 devolve.php 上的名称:
<?php
$name = $_POST['name'];
?>
最佳答案
您尚未为您的 POST 数据命名。它被视为一个裸值,这意味着 PHP 没有任何东西可以用作 $_POST 中的键:
data: valor,
^---no name
尝试
data: {name:valor},
这将让您使用$_POST['name']
。
或者,您可以读取原始 POST 数据:
$name = file_get_contents('php://input');
关于php - 如何使用$_POST获取通过AJAX和Jquery传递的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28728243/