$.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のように他で利用できるように取得できるのでしょうか?
おそらく初歩的な事だと思うのですが、よろしくお願いいたします。
JSON.parse()メソッドを使ってJavaScriptのオブジェクトに変換してやります。
http://msdn.microsoft.com/ja-jp/library/cc836466(v=vs.94).aspx
evalを使うと悪意のあるJSONコードによってクロスサイトスクリプティングを行われる危険があります。また、evalよりparseの方が処理速度が速いです。
Windows XPの時代のIE6ではparseは使えなかったですが、そこまで古いブラウザはほとんどないからparseを使うのが標準です。
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 データにアクセスできます。