2

結局、アップロードが終了すると基本的にトリガーされる関数があります。その関数には次のコードがあります。

onFinish: function (e, data) {
    console.log(data.result);
},

これを行うと、コンソールに次の応答が表示されます。

[{
    "name": "1_3266_671641333369_14800358_42187036_5237378_n.jpg",
    "size": 35535,
    "type": "image\/jpeg",
    "url": "\/web\/upload\/1_3266_671641333369_14800358_42187036_5237378_n.jpg",
    "thumbnail_url": "\/web\/upload\/thumbnails\/1_3266_671641333369_14800358_42187036_5237378_n.jpg",
    "delete_url": "\/web\/upload.php?file=1_3266_671641333369_14800358_42187036_5237378_n.jpg",
    "delete_type": "DELETE",
    "upload_type": "video_montage"
}]

にある値を取得し、それupload_typeに基づいていくつかのアクションを実行したいのですが、関数からこれを取得する方法がわかりません。この情報を入手するために助けをいただければ幸いです。

ありがとう!

4

2 に答える 2

4

data.resultが配列の場合、最初の要素にアクセスしてからにアクセスする必要がありますupload_type

試すconsole.log(data.result[0].upload_type);

更新: data.resultが文字列の場合、最初に解析する必要があります。試してみてください

var result = JSON.parse(data.result); 
console.log(result[0].upload_type);
于 2012-07-10T03:37:28.537 に答える
1

upload_type次の方法でプロパティにアクセスします。

onFinish: function (e, data) {
    var uploadType = data.result[0].upload_type;
},

data.result[x]配列のxキー内のオブジェクトを取得することを指定します。配列内に複数のオブジェクトがある場合は、forループを使用して各キーを繰り返します。

他のプロパティにアクセスするには、同じ原則に従います。目的のアクションに基づいて、データを適切に処理します。

編集:次は何を返しますか?

var obj = data.result[0];
for(var item in obj){
   console.log(item + ': ' + obj[item]);
}

デモ: http: //jsfiddle.net/yYHmQ/

于 2012-07-10T03:36:35.380 に答える