我在ajax调用中设置了一个json编码数组:
$var = json_encode($_SESSION['pictures']);
我把这个json编码的数组放在一个名为“array”的var中 当我警告var数组时,我收到以下回调:
["http://linktoimage1", "http://linktoimage2"]
现在我想通过jquery调用输出第一个值:
$('#imgswap').attr('src', array[0]);
当我进行这个jquery调用时,我收到值“[”。如果我将其更改为数组[2],我会收到“h”。所以他给了我一些字符而不是数组的完整值。
我做错了什么?
答案 0 :(得分:3)
你需要解析json以使其成为一个数组,否则它只是一个字符串
array = $.parseJSON(array);
$('#imgswap').attr('src', array[0]);
如果您将dataType
设置为json
答案 1 :(得分:0)
您收到的数据是字符串而不是实际的JSON。您在AJAX通话中使用dataType: text
吗?如果是,请省略该行或将其替换为dataType: json
。
答案 2 :(得分:0)
将您的最后一行更改为:
$('#imgswap').attr('src', JSON.parse(array[0]));
您需要解析您的JSON。如果你不这样做,你有一个字符串,而不是一个数组。