人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

jsonデータの取得方法を教えてください。(jquery,ajax)


$.ajax({
type: "POST",
url: "pulldown.php",
data: {kana:data},
'success': function (j_data){
alert(j_data);
},
'error': function(XMLHttpRequest, textStatus, errorThrown) {
}
})

pulldown.phpファイルにPOSTで投げて、データベースからjsonデータを取得しました。
alert()で見ると思うようなjsonデータがはいっている事が確認できるのですが、これを利用できる形にするにはどうしたら良いでしょうか?

そのデータがaaa.jsonであればgetJSONで以下の様に取得する事はわかるのですが、

$.getJSON(aaa.json, function(json){?

j_data のデータはどのようにしたらgetJSONのように他で利用できるように取得できるのでしょうか?
おそらく初歩的な事だと思うのですが、よろしくお願いいたします。

●質問者: jamis
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● snow0214
●200ポイント ベストアンサー

JSON.parse()メソッドを使ってJavaScriptのオブジェクトに変換してやります。
http://msdn.microsoft.com/ja-jp/library/cc836466(v=vs.94).aspx

evalを使うと悪意のあるJSONコードによってクロスサイトスクリプティングを行われる危険があります。また、evalよりparseの方が処理速度が速いです。
Windows XPの時代のIE6ではparseは使えなかったですが、そこまで古いブラウザはほとんどないからparseを使うのが標準です。

JSON.parseとevalなどの比較とスピードテスト

http://tinqwill.blog59.fc2.com/blog-entry-72.html


jamisさんのコメント
回答ありがとうございます。 parseで処理する事にしました。 参考になりました。

2 ● a-kuma3
●100ポイント

eval 関数を使います。

$.ajax({
 type: "POST",
 url: "pulldown.php",
 data: {kana:data},
 'success': function (j_data){
 eval("data = " + j_data); // ★コレ!
 alert(data[0].name);
 },
 'error': function(XMLHttpRequest, textStatus, errorThrown) {
 }
})

json データを、変数に代入するような式にして、eval 関数で解釈させます。
それ以降、変数 data (変数名は、何でも良いんですが) を経由して、json データにアクセスできます。


jamisさんのコメント
回答ありがとうございます。 参考になりました。

3 ● 7cc
●0ポイント

パラメータにdataType: "json"を指定する。
http://api.jquery.com/jQuery.ajax/

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ