Javascript 通过Jquery输出JSON编码的数组
我在ajax调用中设置了一个json编码的数组:Javascript 通过Jquery输出JSON编码的数组,javascript,jquery,arrays,json,Javascript,Jquery,Arrays,Json,我在ajax调用中设置了一个json编码的数组: $var = json_encode($_SESSION['pictures']); 我将这个json编码的数组放在一个名为“array”的变量中 当我向var数组发出警报时,我收到以下回调: ["http://linktoimage1", "http://linktoimage2"] 现在我想通过jquery调用输出第一个值: $('#imgswap').attr('src', array[0]); 当我进行这个jquery调用时
$var = json_encode($_SESSION['pictures']);
我将这个json编码的数组放在一个名为“array”的变量中
当我向var数组发出警报时,我收到以下回调:
["http://linktoimage1", "http://linktoimage2"]
现在我想通过jquery调用输出第一个值:
$('#imgswap').attr('src', array[0]);
当我进行这个jquery调用时,我收到值“[”。如果我将其更改为数组[2],我会收到“h”。因此,他会返回字符,而不是数组的完整值
我做错了什么?您将数据作为字符串而不是实际的JSON接收。您是否在AJAX调用中使用了
数据类型:text
?如果是,请忽略该行或将其替换为数据类型:JSON您将数据作为字符串而不是实际的JSON接收。您是否使用数据类型:text
在AJAX调用中?如果是这样,请省略该行或将其替换为数据类型:json
将最后一行更改为:
$('#imgswap').attr('src', JSON.parse(array[0]));
您需要解析JSON。如果不解析JSON,则是字符串,而不是数组。将最后一行更改为:
$('#imgswap').attr('src', JSON.parse(array[0]));
你需要解析你的JSON。如果你不这样做,你有一个字符串,而不是一个数组。你需要解析JSON以使它成为一个数组,否则它只是一个字符串
array = $.parseJSON(array);
$('#imgswap').attr('src', array[0]);
另外,如果您将数据类型设置为json
,您还可以让jQuery.ajax为您解析它。您需要解析json才能使其成为一个数组,否则它只是一个字符串
array = $.parseJSON(array);
$('#imgswap').attr('src', array[0]);
另外,如果您将数据类型设置为json
,也可以让jQuery.ajax为您解析它,例如var-array=json.parse($var);,这样我就只能使用$('#imgswap').attr('src',array[0])?@Stefan:是的。你绝对可以这样做。@Stefan:当然。很高兴我能帮上忙。是否也可以完全解析数组,例如var array=JSON.parse($var);,这样我就只能使用$('#imgswap').attr('src',array[0])?@Stefan:是的。你绝对可以这样做。@Stefan:当然。很高兴我能帮上忙。是否也可以完全解析数组,例如var array=JSON.parse($var);,这样我就只能使用$('#imgswap').attr('src',array[0])?@Musa:不知道JQ有一个JSON方法。我想jQuery真的做了一切…是否也可以完全解析数组,例如var array=JSON.parse($var);,这样我就只能使用$('#imgswap').attr('src',array[0])?@Musa:不知道JQ有一个JSON方法。我想jQuery真的做了一切。。。