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 回答