2016-09-14 2 views
-3

Ich habe ein Problem mit meinem Javascript. Ich versuche, json Array ag-Raster wie diese zu laden und die unten funktioniert gut, weil ich einfach json aus einer JSON-Datei geladen bin:Fehler beim Versuch, Json aus JavaScript zu laden

var httpRequest = new XMLHttpRequest(); 
    httpRequest.open('GET', '../dist/output.json'); 
    httpRequest.send(); 
    httpRequest.onreadystatechange = function() { 
     if (httpRequest.readyState == 4 && httpRequest.status == 200) { 
      var httpResult = JSON.parse(httpRequest.responseText); 


      function isNumeric(n) { 
       return !isNaN(parseFloat(n)) && isFinite(n); 
      } 

      var parsedData = httpResult.map(function(obj) { 
       return Object.keys(obj).reduce(function(memo, key) { 
        var value = obj[key]; 
        memo[key] = isNumeric(value) ? Number(value) : value; 

        return memo; 
       }, {}) 
      }) 

Aber, wenn ich es in der folgenden Art und Weise tun (dh die json Array aus einem jsp, bekommen, console.log (jsonArray) zeigt in Ordnung, aber ich Fehler:

var jsonArray = document.getElementById("jsonArray"); 
     console.log(jsonArray); 
     var httpRequest = new XMLHttpRequest(); 
     httpRequest.open('GET', jsonArray); 
     httpRequest.send(); 
     httpRequest.onreadystatechange = function() { 
      if (httpRequest.readyState == 4 && httpRequest.status == 200) { 
       var httpResult = JSON.parse(httpRequest.responseText); 


       function isNumeric(n) { 
        return !isNaN(parseFloat(n)) && isFinite(n); 
       } 

       var parsedData = httpResult.map(function(obj) { 
        return Object.keys(obj).reduce(function(memo, key) { 
         var value = obj[key]; 
         memo[key] = isNumeric(value) ? Number(value) : value; 

         return memo; 
        }, {}) 
       }) 

bekomme ich folgende Fehlermeldung:

Failed to load resource: the server responded with a status of 404 (Not Found) 

Wie den ersten Code zu ändern, so das kann ich richtig von json lesen Array, das alle JSON-Daten enthält.

UPDATE:

jsonArray ist die folgende von der JSP:

JSONArray jsonArray = new JSONArray(orderDetailsList1); 

<input type="hidden" value="<%out.println(jsonArray);%>" id="jsonArray"/> 
+2

Warum? Deine URL ist falsch. Wie repariert man? Finde die richtige URL heraus. –

+1

Was ist das '# jsonArray' Element? –

+0

@MarcB Welche URL? – Shek

Antwort

0

jsonArray ist eine DOM-Objekt. Um auf das value-Attribut zuzugreifen, verwenden Sie die value Eigenschaft:

+0

Ok, ich verstehe. Ich bekomme null Wert, ich don Warum weiß ich, warum jsonArray als null von jsp an die js-Datei übergeben wird? – Shek

Verwandte Themen