0

我在 ajax 调用中设置了一个 json 编码数组:

 $var = json_encode($_SESSION['pictures']);

我把这个 json 编码的数组放在一个名为“array”的 var 中。当我提醒 var 数组时,我收到以下回调:

  ["http://linktoimage1", "http://linktoimage2"]

现在我想通过 jquery 调用输出第一个值:

 $('#imgswap').attr('src', array[0]);

当我进行这个 jquery 调用时,我收到了值“[”。如果我将其更改为数组 [2],我会收到“h”。所以他给了我字符而不是数组的完整值。

我究竟做错了什么?

4

3 回答 3

3

您需要解析 json 以使其成为一个数组,否则它只是一个字符串

array = $.parseJSON(array);
$('#imgswap').attr('src', array[0]);

dataType如果您将其设置为,您也可以让 jQuery.ajax 为您解析它json

于 2012-08-19T23:57:25.183 回答
0

您将数据作为字符串而不是实际 JSON 接收。你dataType: text在你的 AJAX 调用中使用吗?如果是这样,请忽略该行或将其替换为dataType: json.

于 2012-08-19T23:56:38.153 回答
0

将最后一行更改为:

$('#imgswap').attr('src', JSON.parse(array[0]));

您需要解析 JSON。如果你不这样做,你有一个字符串,而不是一个数组。

于 2012-08-19T23:57:14.747 回答