Dies ist meine Funktion:GET nicht zurück JSON-Objekt
$.ajax({
url: 'http://ec2-52-202-201-59.compute-1.amazonaws.com:8080 /receipts',
dataType: 'application/json',
complete: function(data){
console.log(data)
},
success: function(data){
alert(data)
}
});
Die Funktion geht nie auf Erfolg, und das Objekt, das in Daten enthalten ist, ist die folgende:
Object { readyState: 0, getResponseHeader: getResponseHeader(), getAllResponseHeaders: getAllResponseHeaders(), setRequestHeader: setRequestHeader(), overrideMimeType: overrideMimeType(), statusCode: statusCode(), abort: abort(), state: state(), always: always(), catch: catch(), 8 more… }
Wenn Ich gehe auf diesen Link in meinem Browser Ich kann die JSON-Dateien sehen. Wenn ich in meine Konsole gehe, ist die GET-Anfrage erledigt, und ich kann im Antworttext die JSON-Objekte sehen, die ich brauche.
Warum funktioniert der Ajax-Anruf nicht?
Wenn Sie einen Fehler-Handler als auch hinzufügen, dann würden Sie herausfinden, warum. Ich bekomme * "ungültige URL" *, was ungefähr richtig erscheint – adeneo
Die richtige URL ist: http://ec2-52-202-201-59.compute-1.amazonaws.com:8080/receipts. In dem Code ist ok, ich weiß nicht, warum hier Leerzeichen hinzugefügt wurden –
Die Antwort hat keine Access-Control-Allow-Origin-Antwortheader, so dass Ihr Browser Ihren Code den Zugriff auf die Antwort blockiert. Wenn Sie die Devtools-Konsole Ihres Browsers überprüfen, sehen Sie, dass der Browser eine Fehlernachricht mit dem Hinweis https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS protokolliert hat. – sideshowbarker