2016-06-30 3 views
0

Ich versuche, eine JSON von einer externen URL zu bekommen. Wegen Cross-Domain-Problemen benutze ich den Yahoo YQL-Service.jQuery Cross-Domain-Anfrage JSON: Kann die Eigenschaft 'Json' von Null nicht lesen

Ich erhalte eine Fehlermeldung: Eigenschaft ‚json‘ von null kann nicht für Ihre Tipps

Danke lesen!

$.ajax({ 
 
    url: "http://query.yahooapis.com/v1/public/yql", 
 
    dataType: "jsonp", 
 
    jsonp: "callback", 
 
    error: function() { 
 
    \t alert('There is an error with rawdata'); 
 
    }, 
 
    success: function(response) { 
 
     
 
\t \t schema = []; 
 
\t \t object = []; 
 
\t \t data = []; 
 
\t \t 
 
     var schema = response.query.results.json.schema; 
 
     var options = response.query.results.json.options; 
 
     var data = response.query.results.json.data; 
 

 
     console.log("schema: ", schema); // server response 
 
     console.log("options: ", options); // server response 
 
     console.log("data: ", data); // server response 
 

 
     \t //$("#productEditor").alpaca("destroy"); 
 
    \t \t //jsonEditor(schema, options, data); 
 

 
     
 
    }, data: { 
 
     q: "select * from json where url=\"https://www.webongo.de/data.json?format=json?callback=?\"", 
 
     format: "json" 
 
    }, 
 
    
 
      
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

Antwort

1

Sie benötigen einen null Überprüfung der json Antwort hinzuzufügen, finden Sie in der aktualisierten Code

$.ajax({ 
 
    url: "http://query.yahooapis.com/v1/public/yql", 
 
    dataType: "jsonp", 
 
    jsonp: "callback", 
 
    error: function() { 
 
    \t alert('There is an error with rawdata'); 
 
    }, 
 
    success: function(response) { 
 

 
\t \t schema = []; 
 
\t \t object = []; 
 
\t \t data = []; 
 
\t \t if(response.query.results!==null){ 
 
      var schema = response.query.results.json.schema; 
 
      var options = response.query.results.json.options; 
 
      var data = response.query.results.json.data; 
 

 
      console.log("schema: ", schema); // server response 
 
      console.log("options: ", options); // server response 
 
      console.log("data: ", data); // server response 
 

 
     \t //$("#productEditor").alpaca("destroy"); 
 
    \t \t //jsonEditor(schema, options, data); 
 
     }else{ 
 
      console.log("Results returns null"); 
 
     } 
 
    }, data: { 
 
     q: "select * from json where url=\"https://www.webongo.de/data.json?format=json?callback=?\"", 
 
     format: "json" 
 
    }, 
 
    
 
      
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

Ihnen danken. jetzt bekomme ich keinen fehler, aber ich bekomme immer noch nicht die objekte. – mm1975

+0

Möglichkeit, dass Sie falsche Abfrage an YQL übergeben, –

Verwandte Themen