Próbuję zaktualizować/wstawić dane w bazie danych MySQL za pośrednictwem zaplecza PHP. Buduję interfejs z AngularJS i korzystam z usługi $http
do komunikacji z interfejsem API REST.
Moja konfiguracja wygląda następująco:
mam ustawienie nagłówka poprzez $ httpProvider:
$httpProvider.defaults.withCredentials = true;
$httpProvider.defaults.headers = {'Content-Type': 'application/json;charset=utf-8'};
I POST-Call wygląda następująco:
return $http({
url: url,
method: "POST",
data: campaign
});
Konsola programisty w Chrome pokazuje mi to:
Kiedy zmienić POST PUT, wyślę e opcji call zamiast PUT. A typ zawartości przełącza się tylko na content-type
.
Moja prośba ładowność jest wysłać jako obiekt:
Jak mogę ustawić nagłówek prawidłowo?
EDIT:
PHP backend ustawia niektóre nagłówki:
$e->getResponse()
->getHeaders()
->addHeaderLine('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
$e->getResponse()
->getHeaders()
->addHeaderLine('Access-Control-Allow-Origin', '*');
jest coś brakuje?
Aplikacja/json to domyślny zestaw typu zawartości. Musisz wyszukać w swoim kodzie, jeśli gdzieś ustawiasz go na tekst/zwykły – Chandermani
@Chandermani Mój kod jest dość mały. Mam jeden plik api.js, w którym to robię, oraz jeden plik .config.js, w którym ręcznie ustawiam nagłówek. –
Zgadzam się z consensus. Twoje nagłówki nie powinny być potrzebne. Dzieje się coś bardzo dziwnego. Przeglądam wszystkie "http.post", które napisałem w Angular i wszystkie były proste. Przyjęto nagłówki. –