2012-03-28 6 views
0

私はJSON/AJAXを初めて使用しました。 サーバーから取得したJSONオブジェクトからデータを表示する際にいくつか問題がありました。 URL " http:// localhostを:8387 /休憩/ resourcestatus.json」私はHTML/Javascriptを介して表示したいと思い、このオブジェクトを表します。これオブジェクトを格納し、いくつかの監視情報:以来JSONデータの表示に関する問題

{"groupStatus":[ 

{"id":"AL Process","time":1332755316976,"level":0,"warningIds":[],"errorIds":[]}, 
{"id":"AL:instance1","time":1332919465317,"level":0,"warningIds":[],"errorIds":[]}, 
{"id":"AL:instance2","time":1332919465317,"level":1,"warningIds":["documentarea.locked"],"errorIds":[]}, 
{"id":"SL","time":1331208543687,"level":0,"warningIds":[],"errorIds":[]} 

]} 

リクエストされたURLは私のドメインとは異なります。典型的なXMLHttpRequestを作成することはできません。だから、私は、AJAXのクロスドメインリクエストがあります。 jQuerys "getJSON()"メソッドを介してed。

idsとそのレベルをテーブルに表示したいとします。

これを達成するための解決策はありますか?

答えて

0

$.getJSONのコールバック関数には、その引数にAJAX呼び出しの結果が含まれています。

$.getJSON('http://localhost:8387/rest/resourcestatus.json', function(data) { 
    $(data.groupStatus).each(function() { 
     // do something with $(this).id 
    }); 
}); 
+0

あなたの答えをありがとう、どのようにIDとレベルを表示できるようになりましたか?このように? $( '#content')。append( '

ID:' + $(this).id + '

'); – P4tR

+0

はい、試してください:)。 –

0

私はあなたがJSONPを参照していると思います。 jQuery.ajax例を参照してください。

var url = 'http://localhost:8387/rest/resourcestatus.json';  
$.getJSON(url+'?callback=?', function(data) 
{ 
    //data is 
    /*{ 
     "groupStatus": 
     [ 
      {"id":"AL Process","time":1332755316976,"level":0,"warningIds":[],"errorIds":[]}, 
      {"id":"AL:instance1","time":1332919465317,"level":0,"warningIds":[],"errorIds":[]}, 
      {"id":"AL:instance2","time":1332919465317,"level":1,"warningIds":["documentarea.locked"],"errorIds":[]}, 
      {"id":"SL","time":1331208543687,"level":0,"warningIds":[],"errorIds":[]} 
     ] 
    }*/ 
}); 

をサーバ側で使用すると、JavaScript関数に応答ラップする必要があります。response = Request["callback"] +"("+ response+")";

結果は次のようになります。

?({"groupStatus":[{"id":"AL ....}) 

をので、ブラウザがしますが実際には有効なJavaスクリプトコードをロードします。

関連する問題