我有一个JS多维数组和ajax的问题,我尝试了很多东西,并决定将数组连接到那时,在php上进行爆炸并获取数组。
我决定看看如果发送“park”数组就像那样:
$.post( VIEW+THEME+"ajax/insertPark.php", {
p:Base64.encode(park),
}
我没有在PHP上获得数组。
加入并不好,我不知道是不是因为我的阵列看起来不像:[水果,食物,肉] ...
在console.log测试中,park.join使该公园成为字符串'〜',没有其他数据。
var park = [];
$.each(languajes, function(i, itemData) {
park[i] = [];
park[i]['idLanguaje'] = itemData['idLanguaje'];
park[i]['name'] = $('#name-'+itemData['idLanguaje']).val();
});
console.log(park);
console.log(park.join('~'));
$.post( VIEW+THEME+"ajax/insertPark.php", {
p:Base64.encode(park.join('~')),
}, function(data) {
//window.location.href='/';
}, "json" );
知道我怎么能这样做吗?数组上的元素取决于数据库中的语言数量(即:不同语言中的公园名称),可以是ES,EN或ES,EN,RU,FR ......并且函数必须适应这一点。
感谢您的建议!
答案 0 :(得分:3)
从你的数组中创建json并将其字符串化 - Serializing to JSON in jQuery
在PHP中使用json_decode函数
答案 1 :(得分:1)
您可以尝试将数组编码为JSON吗?像这样的东西?
JS:
var parkString = JSON.stringify(park);
$.post( VIEW+THEME+"ajax/insertPark.php", {
p: parkString,
}
PHP:
$park = json_decode($_POST['p'], true);