$("#gallery li.gallery-image-item:not(:first)").each(function() {
formData.append('gallery[]', {file: 'file', comment: 'comment', youTube: 'youtube'});
});
我使用formData和XMLHttpRequest将数据从js发送到php。
问题是以上转储为字符串:
string(15) "[object Object]"
当我循环时:
foreach($input['gallery'] as $galleryImg) {
var_dump(($galleryImg));
}
如何以阵列形式访问它?我已尝试过json.stringify和json decode + json decode,在php端是真的。
没有运气。
答案 0 :(得分:0)
正如@minitech所说,append()
不是数组上的函数。如果要向数组添加项,则需要使用push()
函数。然后你需要对你的数组进行字符串化,以便它可以发布到你的PHP中。这样的事情应该有效:
JavaScript的:
var gallery = [];
$("#gallery li.gallery-image-item:not(:first)").each(function() {
gallery.push({file: 'file', comment: 'comment', youTube: 'youtube'});
});
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "jsonUrl",
data: {gallery : JSON.stringify(gallery)},
success : function(data){
alert(data);
}
});
PHP:
var_dump(json_decode($galleryImg));