Pozdrav pokušavam na localhostu napraviti Post API upit sa angulara na Wamp
Angular aplikacija u development modu radi na http://localhost:4200/ dok je wamp po defaultu na portu 80.
šaljem post upit i nikako. Uvijek sam blokiran pa ne mogu dobiti response.
… has been blocked by CORS policy: Request header field content-type is not allowed by Access-Control-Allow-Headers in preflight response.
probao sam ovo https://github.com/angular/angular-cli/blob/master/docs/documentation/stories/proxy.md
a probao sam i ovo:
probao sam i promijenitri portove na wamp apache serveru… I ništa.
Zna li netko što radim krivo?
tpojka
2
Glupo pitanje: jesi li restartov’o WAMP?
Prvi komentar kaže da je mor’o restartovati više puta dok mu nije proradilo.
tpojka
4
Jesi li prob’o napraviti request iz Postman-a - radi li to?
nisam znao da sa postmanom mogu slati request na local… probat ću to sada
Jesi li mu postavio Headre za request. Tipa
Header Allow-Origin: *
Nisam siguran jel je tocno tako, ali u tom smislu je.
1 Like
jesam to sam postavio u httpd.conf od apachea ovako
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin: *
i
preko postmana radi, ili je problem mislim do browsera ili angulara.
tpojka
8
Ako radiš sa portovima 80
i 4200
, šta je ovaj treći port 3000
(po default’u bi bio nodejs server)?
To je bilo za test, promijenio sam port apachea za test na 8080 pa na 3000 ali nije imalo svrhu pa sam vratio na 80
belmin
10
I vidis li taj header kad pogledas Request headers u Network tabu ?
tpojka
12
Pogledaj access log i error log na serveru. Nisam siguran u tačnu lokaciju u WAMP-u.
Možda je ovde.
hmm…
u error logu apachea nema ništa ali osim toga postoji log access koji bilježi upite.
Vidim sada da su upiti koje šaljem iz angulara OPTIONS umjesto post… hmmm
moguće da je to greška.
belmin
14
OPTIONS je pre-flight request koji browser salje upravo radi CORS-a.
belmin
16
Da, taj OPTION pre-flight request je sasvim legit stvar.
belmin
17
Probaj poslati jos i ove headere sa servera
Access-Control-Allow-Methods: GET, POST, PUT, DELETE
Access-Control-Allow-Headers: Content-Type
1 Like
ooo yes! tnx! dodao sam i izgleda da sada radi nema više greške u konzoli, moram posložiti JSON request i response kako treba pa ću testirati.
Izgleda radi dobro kada je samo response i ne pošaljem ništa.
Ne zam što točno PHP datoteka dobije kada šaljem iz angulara, tj kako objekt koji šaljem treba izgledati. probao sam sve i svašta
u php-u postavim i pošaljem POST sa propertijem Request i ništa.
a ako json stavim ivan scopea isset($_POST[‘Request’] onda mi ga vrati uredno.
Iz angulara šaljem ovo:
a dobijem samo:
probao sam i JSON.stringify