ma-100140 @ ウィキ jQuery+PHPのメモ
※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

JSONがない

IEで動かすと「JSONがない」というようなエラーです。
http://www.motohasi.net/Program/JavaScript/Item1.php

これで解決。

JSONのオブジェクト化

var data0 = '{"ziplist":[{"seibanc":"ZZ7A0593","yoteibi":"2008-02-18"},{"seibanc":"ZZ7A0594","yoteibi":"2008-02-28"}]}';
var json = JSON.parse(data0);
$("#search_results2").html(json.ziplist.length);

結果は 2

var json = JSON.parse(data0);
$("#search_results2").html(json.ziplist[0].seibanc);

結果は ZZ7A0594

エラー: JSON.parse: unexpected non-whitespace character after JSON data

どうもPHPから返したJSONデータがおかしいようです。

エラー: JSON.parse: unexpected non-whitespace character after JSON data
$("#search_results").html(data); →これはきちんと表示されます
alert(data);→ためしに無理やり表示してみました
var json = JSON.parse(data);→ここが落ちます

本来はこのようなデータが来ているはず(そう思いたいです)

{"ziplist":[{"seibanc":"ZZ8A0010","yoteibi":"2008-03-26"},{"seibanc":"ZZ8A0010","yoteibi":"2008-04-11"}]}

しかし、alertで無理やり表示すると!!

{"ziplist":[{"seibanc":"ZZ8A0010","yoteibi":"2008-03-26"},{"seibanc":"ZZ8A0010","yoteibi":"2008-04-11"}]}</list>

とお尻に </list> がついていました。
http://groups.google.com/group/firebug/browse_thread/thread/e261b1feb1776ab2
確かにここにはSo the backslash must be escapedとバックスラッシュはあかんとある。