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 デコード + json デコードを試しました。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 に答える