2017-05-27 16 views
-2

jsファイルでJSONArrayをループしてみましたが、失敗しました。 誰かが私を助けることができますか? これは私のサーブレットのコードです:JSONArrayループ(Ajax内)

ArrayList<Campionato> campionati = DBManager.getInstance().getCampionatoDao().query(); 

    JSONArray jsonArray = new JSONArray(campionati); 
    resp.getWriter().println(jsonArray); 

、これが私のAjaxコードです:すべての

$.ajax({ 
    type: "GET", 
    url: "MyServlet", 
    dataType : "json", 
    success: function(data){   

    alert("lenght "+ data.length); //this work but if i try data[0] it say me undefined 

    //I don't know what should I put here for looping 

    }, 
    error : function(data) { 

    } 

}); 

感謝!問題は、データが関数successにあるものであるjQueryの

data = $.parseJSON(data); 
    $.each(data, function(i, item) { 
     alert(item); 
    }) ; 
+0

質問を明確にしてください。あなたは何を達成しようとしていますか? – Difster

+0

jsonarrayをループするだけです。 Myservletが通過するもの。私は探していますが、解決策を見つけることができません、あなたは私を助けることができますか? 日付はjsonArray –

答えて

0

console.log(data)またはalert(JSON.stringify(data))を使用してください。

+0

です。これは機能しません。とにかくありがとうございました。 –

+0

データがjson形式であるかどうかを確認してください。それが既にjson形式であれば、jsonの構文解析をスキップします。また、jsonの形式もチェックしてください。 –

+0

OK、ありがとうございます、しかし、仕事はありません:(私のデータはjson形式であることを確かめてください。 –

0

を使用してJSON配列上のコードスニペットの反復以下

+0

アラート(JSON.stringify(data))これはメモリアドレス[[email protected] "、" bean.Campionato @ 560ca2a0 "] –

0

あなたの応答のデータ(success: function(data){)は、dataプロパティで期待しているメタデータとデータを保持するオブジェクトです。つまり、あなたの回答のうち、実際のデータを取得している何をしたいのか、そしてループは、アレイは、それが含まれていること:

success: function(data){ 
    let d = data.data; // now d holds your response data - array 
    for (let x of d) { 
     console.log(x); 
    } 
} 
+0

同じ答えは、仕事ではなく、今私は私のサーブレットで何かを修正しようとすると、多分私はJSONArrayの配列を入れて間違っている –

0

男を、私はjsonarrayにデータを置く方法を、間違っていたものを実現しました。

正しい方法は今、すべてが正常に動作します

final JSONObject obj = new JSONObject(); 
    final JSONArray array = new JSONArray(); 

    try { 
     for (final Campionato campionato : campionati) { 

      final JSONObject jsonObj = new JSONObject(); 

      jsonObj.put("idCampionato", campionato.getIdCampionato()); 
      jsonObj.put("numPartecipanti", campionato.getNumPartecipanti()); 
      jsonObj.put("partecipantiTotali", campionato.getPartecipantiTotali()); 
      jsonObj.put("attivo", campionato.getAttivo()); 

      array.put(jsonObj); 

     } 

     obj.put("campionati", array); 
    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 

    resp.setContentType("application/json"); 
    resp.getWriter().print(obj); 

とAjaxで

$.ajax({ 
    type: "GET", 
    url: "provaServlet", 
    dataType : 'json', 
    success: function(data){ 
     var campionati = data.campionati; 
     var div = $('#cAttivi'); 
     div.empty(); 

     for (var i = 0, length = campionati.length; i < length; ++i) { 
      var campionati = campionati[i]; 
      var stringToAppend = "<div> "+ campionati.idCampionato +"</div>"; 
      div.append(stringToAppend); 
     } 

..ですすべてのあなたの忍耐のため

おかげ

関連する問題