在jQuery中确定PHP的响应

全部,我有一个function,当上传完成时基本上被触发。 我在该函数中有以下代码:

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的值并根据它做一些操作,但我不知道如何从我的函数中获取它。 任何帮助将不胜感激获取此信息。

谢谢!

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); 

您可以通过以下方式访问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/