Jeg jobber med en app som bruker vue js. I henhold til innstillingen min må jeg sende til variabel til nettadressen min når innstillingen endres.
$.get('http://172.16.1.157:8002/firstcolumn/' + c1v + '/' + c1b, function (data) {
// some code...
});
men når appen min treffer på url, viser den følgende messsge.
Kunne ikke laste inn http://172.16.1.157:8002/firstcolumn/2017-03-01/2017-10-26: Omdirigering fra 'http://172.16.1.157:8002/firstcolumn/2017-03-01/2017-10-26' til 'http://172.16.1.157:8002/firstcolumn/2017-03-01/2017-10-26/' er blokkert av CORS-policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' er derfor ikke tillatt tilgang.
I tillegg til det awd nevnte om å få den ansvarlige for serveren til å omkonfigurere (en upraktisk løsning for lokal utvikling), bruker jeg en change-origin chrome-plugin som dette:
Du kan gjøre din local dev server (ex: localhost:8080)
for å se ut til å komme fra 172.16.1.157:8002 eller et annet domene
.
Be den som vedlikeholder serveren på http://172.16.1.157:8002/ om å legge til vertsnavnet ditt i Access-Control-Allow-Origin hosts, serveren skal returnere en header som ligner på følgende med svaret
Access-Control-Allow-Origin: yourhostname:port
Hei Hvis jeg har forstått det riktig, gjør du en XMLHttpRequest til et annet domene enn siden din er på. Så nettleseren blokkerer den da den vanligvis tillater en forespørsel i samme opprinnelse av sikkerhetsgrunner. Du må gjøre noe annet når du vil gjøre en forespørsel på tvers av domener. En veiledning om hvordan du gjør det er Using CORS.
Når du bruker postman, er de ikke begrenset av denne policyen. Sitert fra Cross-Origin XMLHttpRequest:
Regulære nettsider kan bruke XMLHttpRequest-objektet til å sende og motta data fra eksterne servere, men de er begrenset av samme opprinnelsespolicy. Utvidelser er ikke så begrenset. En utvidelse kan snakke med eksterne servere utenfor sin opprinnelse, så lenge den først ber om tillatelser på tvers av opprinnelse.