99% moich wywołań ajaxowych wymaga określonego "X-API-TOKEN" do uwierzytelniania i komunikowania się z moim Railsowym API REST. Ale dzwonię też do jednego interfejsu API strony i ciągle pojawia się komunikat "Pole nagłówka żądania X-API-TOKEN nie jest dozwolone przez Kontrolki dostępu-Zezwalaj na dostęp."Jak usunąć domyślne nagłówki tylko dla konkretnych żądań XHR w AngularJS?
Wszystko działa poprawnie, jeśli delte nagłówek tuż przed wywołaniem, a prace wokół byłoby usunąć, a następnie ponownie dodać po zakończeniu rozmowy, ale jest łatwiejszy sposób niż to:
apiToken = $http.defaults.headers.common["X-API-TOKEN"]
delete $http.defaults.headers.common["X-API-TOKEN"]
$http(
method: "GET"
url: 'http://...}}'
).success((data, status, headers, config) ->
).error (data, status, headers, config) ->
$http.defaults.headers.common["X-API-TOKEN"] = apiToken
To rozwiązanie jest dobre dla, powiedzmy, mamy tylko jeden klucz, ale co jeśli mamy wiele niestandardowych nagłówków i mamy wiele takich zewnętrznych wywołań api, w których nie potrzebujemy tych nagłówków. Czy możemy to osiągnąć za pomocą funkcji transformRequest? –