Arrays $.Ajax将字符串作为数组发布到PHP脚本

Arrays $.Ajax将字符串作为数组发布到PHP脚本,arrays,ajax,string,post,Arrays,Ajax,String,Post,我试图让Ajax将一组字符串发布到我的PHP脚本中,但是post的var_转储会导致数组{0}。若我尝试对Post进行json_解码,我得到的json_解码期望参数1是字符串,但数组是给定的。 如果我在控制台中记录stringify变量,我会得到希望在控制台中显示的结果。我似乎无法让Ajax将该字符串发布到PHP脚本中,代码如下 <script> $(document).ready(function(){ $('button[id=add]').click(funct

我试图让Ajax将一组字符串发布到我的PHP脚本中,但是post的var_转储会导致数组{0}。若我尝试对Post进行json_解码,我得到的json_解码期望参数1是字符串,但数组是给定的。 如果我在控制台中记录stringify变量,我会得到希望在控制台中显示的结果。我似乎无法让Ajax将该字符串发布到PHP脚本中,代码如下

<script>
    $(document).ready(function(){
    $('button[id=add]').click(function(event){
    event.preventDefault();

  var form_data = { 
      submit: $('input[name=submit]').val(),
      id: $('input[name=id]').val(),
      name: $('input[name=name]').val(),
      price: $('input[name=price]').val(),
      quantity: $('input[name=quantity]').val()
      };

   var json_data = JSON.stringify(form_data);

  $.ajax({
     type: 'POST', 
     url: 'test.php', 
     dataType: 'json', 
     data: json_data,          
     success: function(data){
      console.log(data)
        }
       });
    });
});
</script>  

$(文档).ready(函数(){
$('button[id=add]')。单击(函数(事件){
event.preventDefault();
var form_data={
提交:$('input[name=submit]')。val(),
id:$('input[name=id]')。val(),
名称:$('input[name=name]')。val(),
价格:$('input[name=price]')。val(),
数量:$('input[name=quantity]')。val()
};
var json_data=json.stringify(form_data);
$.ajax({
键入:“POST”,
url:'test.php',
数据类型:“json”,
数据:json_数据,
成功:功能(数据){
console.log(数据)
}
});
});
});

只有当您发送
x-www-form-urlencoded
多部分/表单数据时,才会填充
$\u POST
。您正在发送JSON。不要发送JSON

$(document).ready(function(){
    $('button[id=add]').click(function(event){
    event.preventDefault();

  var form_data = { 
      submit: $('input[name=submit]').val(),
      id: $('input[name=id]').val(),
      name: $('input[name=name]').val(),
      price: $('input[name=price]').val(),
      quantity: $('input[name=quantity]').val()
      };


  $.ajax({
     type: 'POST', 
     url: 'test.php', 
     dataType: 'json', 
     data: form_data ,          
     success: function(data){
      console.log(data)
        }
       });
    });
});

Post
form_data
。form_data是一个数组,我想为我的PHP脚本字符串它。你尝试过吗?Musa,发布form_数据会给我一个数组对象,当我var_dump Post时会显示它。除了应答中的内容之外,我还需要将数组作为字符串变量。那么,我应该将$var=json\u encode($\u POST)代码放在哪里呢?将数据:$var?放在test.php中,并在Javascript中使用
form_data
,这就是我得到的[]