Php 如何使用$\u POST通过AJAX和Jquery获得数据?

Php 如何使用$\u POST通过AJAX和Jquery获得数据?,php,jquery,ajax,Php,Jquery,Ajax,嗨,我正在尝试使用Ajax和Jquery将简单的html数据传递到php服务器。所以我做了一个非常简单的脚本: <script> $("document").ready(function(){ $(".enviarJson").on("click",function(){ var valor = $(this).attr("value"); // alert(valor); $.aja

嗨,我正在尝试使用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>

$(“文档”).ready(函数(){
$(.enviarJson”)。在(“单击”,函数()上{
var valor=$(此).attr(“值”);
//警惕(勇气);
$.ajax({
类型:“POST”,
数据类型:“HTML”,
url:“devove.php”,
数据:valor,
成功:功能(数据){
警报(数据);
}
});
返回false;
});
});
以下是html:

    <form>
    <button class="enviarJson" value="q1?a1">Answer 1</button>
    <button class="enviarJson" value="q1?a2">Answer 2</button>
    </form>

答复1
答复2
现在我的问题是,在不知道$u POST[]的id的情况下,如何将数据传递到devolve.php

例如,使用常规的post表单,我可以执行以下操作:

<form action="devolve.php" method="post">
Name: <input type="text" name="name"><br>
<input type="submit">
</form>
<?php
  $name = $_POST['name'];
?>

名称:
然后我可以通过如下操作在devolve.php上获得名称:

<form action="devolve.php" method="post">
Name: <input type="text" name="name"><br>
<input type="submit">
</form>
<?php
  $name = $_POST['name'];
?>

您尚未为您的帖子数据命名。它是作为一个裸值出现的,这意味着在$\u POST中PHP没有任何东西可用作键:

data: valor,
      ^---no name
试一试

这将允许您使用
$\u POST['name']

或者,您可以读取原始POST数据:

$name = file_get_contents('php://input');
使用-


如果在页面上有多个表单,则最好为表单提供某种标识。

使用jQuery的
.Serialize()
函数序列化表单数据。然后数据将在
$\u POST
数组中提供。谢谢,我会尽快接受您的回答。