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

时间:2018-06-28 14:45:15

标签: arrays ajax string post

我正在尝试让Ajax将一组字符串发布到我的PHP脚本中,但是POST的var_dump导致数组{0}。如果我尝试json_decode Post我得到json_decode期望参数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>  

1 个答案:

答案 0 :(得分:0)

仅在发送$_POSTx-www-form-urlencoded时填充multipart/form-data。您正在发送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)
        }
       });
    });
});