Ich mache einen Ajax Anruf zu einem Backend-Rest-API, die API ist gut zurück. Wenn ich console.log() die Erfolgsdaten und Fehlerdaten, gibt es "Ressource angemeldet", 200 ok auf der Konsole, aber wenn ich es in der Netzwerk-Registerkarte Antwort für diese Auth/Login-Route anzeigen, zeigt es "Fehler beim Laden die Antwortdaten ". Und das passiert manchmal nur und nicht immer. Warum? Hier ist der Ausschnitt meines Ajax Anrufs.Ajax Antwort 200 ok, aber zeigt nicht geladen Antwortdaten
ajax
.post('auth/login', {
data: {
oauth_provider: 'google',
oauth_token: (isToken ? authResult : authResult.access_token)
},
cache: false
})
.done(function(data) {
console.log(data); // Resource Logged in
})
.error(function(err){
console.log(err);
})
Hier ist der Inhalt meiner ajax.js
define(
[
'jquery',
'util',
],
function ($, util) {
var ajax = {
request: function (type, url, options) {
if (url.indexOf('http') === -1) {
url = util.url(url);
}
if (options === undefined) {
options = {};
}
options.type = type
options.url = url;
return $.ajax(options);
},
get: function (url, options) {
return ajax.request('GET', url, options);
},
post: function (url, options) {
return ajax.request('POST', url, options);
},
put: function (url, options) {
return ajax.request('PUT', url, options);
},
delete: function (url, options) {
return ajax.request('DELETE', url, options);
}
};
return ajax;
}
)
Typischerweise wird dies aus der Antwort, weil es blockiert ist eine domänenübergreifende Anfrage. Ist Ihre Seite der AJAX-Inhalt auf demselben Server? – scunliffe
Ja, es ist auf demselben Server. Ich benutze Nginx. –
Mögliches Duplikat von [Chrome-Entwicklungstools zeigt keine Antwort an, auch wenn der zurückgegebene Inhalt Header hat Content-Type: text/html; charset = UTF-8] (https://stackoverflow.com/questions/38924798/chrome-dev-tools-fails-toshow-response-even-the-content-returned-has-header-con) – dhilipsiva