0
$("#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 方面是真的。

没运气。

4

1 回答 1

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));
于 2013-09-25T16:43:26.293 回答