AngularJS - set HTTP-header für GET-Anforderung
Möglicherweise dies ist eine Frage, die auf dem internet verfügbar, Aber was ich habe ist hier.
Hinzufügen eines benutzerdefinierten header zur HTTP-Anforderung verwenden angular.js
Also folgte ich die gleichen, und änderte den code auf
Einstellung header
var config = {headers: {
'Authorization': 'XXXYYY token="xxxxxxxx", realm="dash-api"',
"X-Testing" : "testing"
}
};
In der get-Anfrage Anruf:
return $http.get(api.host+'/agn/12/adv/1860/cam?status=1', config).then(function (response) {
return {
status:"success",
data:response.data.data.active
};
}, function (error) {
return {
status:"error",
data:error
}
});
Wie Sie sehen können, der die Anfrage geht in der Methode geben Sie OPTIONEN, und die Authorization
token ist nicht in der Anfrage.
Bitte helfen Sie mir in dieser Frage, wie ich kämpfen bin von zwei Tagen.
Vielen Dank.
- Haben Sie ausgeschlossen CORS als problem? stackoverflow.com/questions/19554414/angularjs-disabling-cors
- Ziemlich sicher, dass es einen CORS-request. Nicht sicher, warum
api.host
würde auch dort sein, wenn die Anfrage an den gleichen server, der als Host für die app. Macht es Sinn für den API-Anbieter NICHT erlauben, CORS zu, da es zu tun scheint, token-Authentifizierung über einen ungesicherten Kanal.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, wenn man einen Blick auf den link, den Sie finden, Sie werden immer das gleiche Problem wie der Autor und die Autorin, die post habe erklärt, dass es war ein CORS-Problem - der server war er der Kommunikation mit nicht unterstützt CORS, er bestätigt dies in seinem Kommentar zu seinem eigenen post.
Als für, warum Sie werden immer ein OPTIONS-request, das ist, weil CORS macht ein "pre-flight" - Anforderung an den server, um festzustellen, ob CORS noch unterstützt, bevor er die eigentliche Anfrage.
Werden Sie sehen eine
OPTIONS
verlangen die meisten wahrscheinlich, weil Sie ein cross-origin-Anfrage (CORS). Erstens Ihre server unterstützen sollte, CORS (durch die Reaktion auf OPTIONS-Anforderung mit einemAccess-Control-Allow-Origin
header-Satz in der Antwort).Wenn Sie eine authentifizierte cross-origin-Anfrage, müssen Sie
withCredentials
zutrue
im Antrag.