JSON String Parsing in Javascript?

Ich benutze ajax, um eine Anfrage an einem Servletand zu erhalten und json String zu erhalten

Servlet-Code // Server-Seite

  • Hash aus der URL entfernen
  • Reactjs asynchrones Rendering von Komponenten
  • XmlHttpRequest onprogress Intervall
  • Schienen - Link verarbeiten mit ajax
  • ExtJS 4 - Wie kann ich eine Datei mit Ajax herunterladen?
  • Angular $ http nach Anfrage undefined in PHP
  • protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setHeader("Content-Type", "text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); Gson gson = new Gson(); try { ArrayList<SearchedCourse> searchedCourses = null; int semesterNo = request.getParameter("semesterNo"); searchedCourses = //Using function to retrieve data from DB and return an ArrayList String courses = gson.toJson(searchedCourses); out.write(courses); } } } finally { out.close(); } } 

    Und das ist die Rückkehr json string "Ich habe Firebug verwendet, um es zu kopieren"

     [{"courseNumber":1619,"courseNo":"HADTA1100","courseName":"قرآن كريم (1) جزء عم","courseExamDate":"Aug 21, 2011","courseExamTimeFrom":"14:30","courseExamTimeTo":"15:30"},{"courseNumber":1663,"courseNo":"HADTB1100","courseName":"قرآن كريم (2) جزء تبارك","courseExamDate":"Aug 23, 2011","courseExamTimeFrom":"14:30","courseExamTimeTo":"15:30"}] 

    Ich benutze den Code unten, um die Json-String auf der Client-Seite zu analysieren

      jQuery.ajax({ url: 'auth/json/AvailableCoursesGetter', type: "GET" , dataType: "json", data: { 'semesterNo': 20112 }, success: function(data) { for (var i = 0, len = data.length; i < len; i++) { document.write(data[i].courseNumber); } } }); 

    Es funktioniert gut auf Mozilla FireFox4, aber auf Google Chrome und IE zeigt es nichts

    irgendeine Hilfe ?

  • Öffnen Sie lokale Dateien in JavaScript
  • Graphing JavaScript-Bibliothek
  • Wie kann ich eine Json-Zufallszahl in einem Echtzeit-Flottendiagramm anzeigen?
  • Programmatisch schließen bootstrap modal auf ajax Erfolg
  • Extrahieren von XML-Daten mit Javascript
  • Wie passiere ich PHP-Array-Werte in eine andere Datei mit jQuery Ajax?
  • 3 Solutions collect form web for “JSON String Parsing in Javascript?”

    Ich habe gerade gesehen, dass du den folgenden Header in deinem Servlet ausgibst:

     response.setHeader("Content-Type", "text/html;charset=UTF-8"); 

    Versuchen Sie, den Inhaltstyp auf application/json ändern.

    @Eli ist richtig über die Verwendung der for in eine schlechte Idee, aber es scheint mir, dass der Code sollte funktionieren. Die folgende jsFiddle arbeitet in IE9: http://jsfiddle.net/shaneblake/arhB7/

    Bist du sicher, dass die Daten im richtigen Format zurückkehren und nicht als String? JSON.parse(data) du versucht, mit JSON.parse(data) zu arbeiten?

    Es gilt als schlechte Praxis, über ein Array mit der for in Syntax zu iterieren. Versuche es stattdessen

     for (var i = 0, len = data.length; i < len; i++) { console.log(data[i].courseNumber); } 

    Wenn Ihre Seite in irgendeiner Weise den Array-Prototyp erweitert hat, dann wird die Verwendung for in deinem Skript dazu führen, dass diese Skripte über diese erweiterten Eigenschaften iterieren und wenn diese vor Ihren tatsächlichen Werten getroffen werden, wird es höchstwahrscheinlich einen Fehler verursachen. Der beste Weg, dies zu vermeiden ist, eine traditionelle für Schleife zu verwenden.

    Lassen Sie uns Javascript Schönheit und nützlich machen.