2013-07-28 8 views
5

次の機能を持つJSアプリケーションを作成しようとしています:JSONドキュメントを取得し、そのテキストを表示するボタン。私はElasticsearchチュートリアルを通じてつもりだ、と私は提供のURLで有効なJSON確かにあります:JavaScriptを使用してJSONレスポンスを取得し、ウェブページ上に表示する、JavaScriptをテストする

{"_index":"planet","_type":"hacker","_id":"xfSJlRT7RtWwdQDPwkIMWg","_version":1,"exists":true, "_source" : {"handle":"mark","hobbies":["rollerblading","hacking","coding"]}} 

以下のコードを使用して...私は代わりの

[object Object] 

のアラートを取得するには、完全なJSONのアラート私は実際にJSONの一部を選択する次のステップを実行するつもりですが、最初に完全なドキュメントを参照してください。

アイデアをお持ちですか?前もって感謝します!

<!DOCTYPE html> 
<html lang="en"> 
<head><title>Demo</title> <meta http-equiv="content-type" content="text/html; charset=utf-8" /></head> 

<body> 
    <input id="testbutton" type="button" value="Test" /> 
    <p id="results">results appended here: </p> 

<script type="text/javascript" src="jquery-1.10.2.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
    $("#testbutton").click(function() { 
     $.ajax({ 
      url: 'http://localhost:9200/planet/hacker/xfSJlRT7RtWwdQDPwkIMWg', 
      dataType: 'json', 
      success: function(data) { 
       $("#results").append('all good'); 
       alert(data); 
      }, 
      error: function() { 
       $("#results").append("error"); 
       alert('error'); 
      } 
     }); 
    }); 
}); 
</script> 
</body> 
</html> 
+2

'alert'を使うのではなく、' console.log'を使います。これにより、将来的にはデバッグが大幅に簡単になります。 –

+0

http://stackoverflow.com/q/29694300/4768363同様の問題は通過してください。 –

答えて

16

使用alert(JSON.stringify(data));

2

jQueryの「最良の推測」、それが受信するデータ形式、およびあなたのためにそれを解析しよう。

これはまさにあなたが見ているものです。 jQueryはすでにJSONをオブジェクトとして解析しています。 JSON表現を見るには、データを再び文字列化することができます。

alert(JSON.stringify(data)); 

...または、あなたは、オプションの1つとしてdataType: "string"を渡して、最初の場所で応答を解析しないようにjQueryを伝えることができます。 dataはJSON表現になり、オブジェクトに変換するにはJSON.parse(data)にする必要があります。

0

あなたはJSONはあなたが単純な

alert(data._type); 
0

よう.演算子を使用して、個々のプロパティにアクセスすることができ、そこからjavascriptオブジェクトに変換なっています!

alert() "[オブジェクトオブジェクト]"を返すオブジェクトの.toString()を呼び出します。

console.log(data)を使用して、右クリックしてコンソールに移動します(またはF12を押します)。

他のものと同様にしてください:alert(JSON.stringify(data));

関連する問題