使用JQuery post传递包含对象的Javascript数组


Pass Javascript array containing objects using JQuery post

我有一个包含Javascript对象的Javascript数组:

var fruits = []; 
var fruit = new Object; 
fruit.name = apple; 
fruit.color = red; 
fruits.push(fruit);

我如何通过这个使用JQuery的邮政$.post,使其所有的内容都可以通过PHP的$_POST数组访问?

如何使用PHP访问对象属性?

你最终得到的对象看起来像:

var fruit ={
  name:'Apple',
  color: 'Red'
}

你可以简单地将对象发布到php

$.post('path/to/server', fruit, function(resp){
   // validate response and do something
});

默认的contentType为$.ajax$.post是一个简写方法是application/x-www-form-urlencoded,所以它是完全相同的发送一个表单。

jQuery内部将负责编码作为参数传递给$.ajax$.post或其他简写方法的数据对象

在PHP中

$fruitName = $_POST['name'];
$fruitColor = $_POST['color'];

如果你想发送整个数组,你可以这样做:

$.post(url, {fruits: fruits});

在php中:

 $fruitsArray = $_POST['fruits'];
 foreach($fruitsArray as $item){
    $name = $item['name'];
 }