2012-02-09 15 views
0

私はajaxリクエストからレスポンスを取得し、requestDataという変数にrequest.responseTextを格納します。 requestDataデータには、json_encode()を使用してPHPで渡されるjsonオブジェクトが含まれています。返されたjsonオブジェクトのプロパティにアクセスできない

私が作ったいくつかのログを見てください。

requestData : {"status":"ok","to":"","html":"<option value=\"Huberdeau\">Huberdeau<\/option><option value=\"Bo\u00eeleau\">Bo\u00eeleau<\/option><option value=\"Br\u00e9beuf\">Br\u00e9beuf<\/option><option value=\"Saint-R\u00e9mi-d'Amherst\">Saint-R\u00e9mi-d'Amherst<\/option><option value=\"Harrington\">Harrington<\/option>","message":"old"} 

私の問題は、可変ステータスにアクセスできないことです。次の呼び出しのいずれも適切に値を取得しません。

requestData[status] : undefined 
requestData.status : undefined 
requestData['status'] : undefined 
requestData[0]['status'] : undefined 

私の変数をforログでダンプしようとすると、文字列のように扱われました。

dump_var : 
0:{ 
1:" 
2:s 
3:t 
4:a 
5:t 
6:u 
7:s 
8:" 
9:: 
+1

JSON応答を正しく割り当てているとは思われません。あなたのAJAXリクエストを表示してください。 –

答えて

0

私は他の質問に対するコメントでこのトリックを見つけました。私はそれを投稿すると、とにかくそれは少し難しいので、original discussionで通知します。

$.getJSON(url, function(data){ 
    alert(data.someField); 
}); 

jQueryの

の代わりに、$に.get

使用$ .getJSON

var requestData = request['responseText']; 
var jsonData = eval("(" + requestData + ")"); 
1

あなたはevalを行う必要はありません!

関連する問題