0

私はajax呼び出しで単一のjsonエンコードされた配列を設定しています:

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

このjsonでエンコードされた配列を「array」という変数に入れました。var配列にアラートを送信すると、次のコールバックが返されます。

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

ここで、jquery呼び出しを介して最初の値を出力したいと思います。

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

このjquery呼び出しを行うと、値「[」を受け取ります。array [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: textAJAX呼び出しで使用していますか?その場合は、その行を省略するか、。に置き換えてdataType: jsonください。

于 2012-08-19T23:56:38.153 に答える
0

最後の行を次のように変更します。

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

JSONを解析する必要があります。そうしないと、配列ではなく文字列になります。

于 2012-08-19T23:57:14.747 に答える