- Angular er en av de beste plattformene for utvikling av webapplikasjoner.
- Artikkelen nedenfor vil dekke Ingen tilgangskontroll-tillat opprinnelseshode feil.
- For flere spørsmål angående dette emnet, sjekk ut vårt Programming Tips Hub.
- Hjemmesiden vår har også en dedikert side for utviklerverktøy også.
Denne programvaren vil holde driverne dine i gang, og dermed beskytte deg mot vanlige datamaskinfeil og maskinvarefeil. Sjekk alle driverne dine nå i 3 enkle trinn:
- Last ned DriverFix (bekreftet nedlastningsfil).
- Klikk Start søk for å finne alle problematiske drivere.
- Klikk Oppdater drivere for å få nye versjoner og unngå systemfeil.
- DriverFix er lastet ned av 0 lesere denne måneden.
En av de vanligste feilmeldingene som kantede utviklere kan støte på i det daglige arbeidet er: ingen tilgangskontroll-tillat-opprinnelseshode til stede på den forespurte ressursen.
Dette er ikke et spesifikt vinkelproblem, men et CORS (Overskriftsproblem med kryss-opprinnelig ressursdeling). Det kan bety at back-end-serveren er konfigurert til å fungere på en annen port eller et annet domene.
Hvordan fikser jeg feilen Ingen tilgangskontroll på Windows 10?
1. Gjør endringer på servernivå
Hvis du har tilgang til serveren, aktiverer du CROS-forespørsler ved å legge til Access-Control-Allow-Origin: * Overskrift. Etter det, konfigurer cors oppføring, under system.webServer i web.config filen, som i eksemplet nedenfor.
”1.0″? - aktivert ="ekte">
- opprinnelse =“ https://someorigin.domain.com”>
- metode ="FÅ"/>
- metode ="HODE"/>
- </system.webServer>
Her, cors vil tillate FÅ og HODE forespørsler fra https://someorigin.domain.com/.
Også hvis du bruker IIS (Internet Information Services) du trenger å laste ned IIS CORS-modul.
Vær nøye med å spesifisere et domene eller en liste over domener i stedet for *. Ellers ville forespørsler om opprinnelse til serveren være aktivert fra hvor som helst.
På Apache, i konfigurasjonsfilen, må du legge til linjen Topptekst satt Access-Control-Allow-Origin ‘*’. Igjen er det lurt å erstatte ‘*’, med en liste over kilder der forespørslene ville komme.
2. Kjør din egen proxy-server
- For det første oppretter vi en proxy-konfigurasjonsfil, i roten Angular-mappen, kalt src / proxy.conf.json, og skriv følgende kode i den:
{"/ api":
"mål":" http://localhost: 6000 "," secure ": false}
}
- For det andre, i angular.jsonfil, legg til proxyConfigalternativet i tjene mål:
"tjene":
{-
"bygger":" ",
-
"opsjoner":{"proxyConfig":"src / proxy.conf.json"}
}
- Kjør nå gjeldende konfigurasjon med ng server kommando.
En proxy-server vil videresende forespørslene dine til den eksterne serveren. Deretter skal vi se hvordan du konfigurerer en proxy-server.
Forespørsler om data i Angular er API-anrop til localhost, på port 4200, som denne plasseringen:
- http://localhost: 4200 / api / datareq.
I eksemplet ovenfor antok vi imidlertid at de forespurte dataene er på dette stedet:
- http://localhost: 6000 / api / datareq.
Interessert i gode proxy-løsninger? Sjekk ut denne listen over dedikerte verktøy
3. Dkan ses som den samme opprinnelsespolicyen i nettleseren din
Merk: denne spesielle metoden anbefales ikke siden dette kan utsette nettleseren din (og systemet ditt) for store sikkerhetsrisikoer.
Hvis alt annet ikke fungerer, kan du ty til å deaktivere policyen for samme opprinnelse i nettleseren. Vær imidlertid forsiktig, da dette vil utsette nettleseren din (og systemet ditt) for store sikkerhetsrisikoer.
Til Google Chrome, i Windows 10, åpne ledetekst som administrator og kjør følgende kommando:
C: Programfiler (x86) GoogleChromeApplicationchrome.exe "--disable-web-security --disable-gpu --user-data-dir = ~ / chromeTemp.
.
For å konkludere, ingen tilgangskontroll-tillat-opprinnelseshode til stede på den forespurte ressursen feilmelding er et problem på serversiden.
For Angular-utviklere bør endring av serverkonfigurasjon eller bruk av en proxy-server fungere helt fint.
Fortell oss hva du synes om denne guiden i kommentarfeltet nedenfor.
ofte stilte spørsmål
En måte å løse dette problemet på er å bruke en proxy-server. Hvis du har problemer med å koble til en proxy-server, kan du se dette komplett guide.
AngularJS er et JavaScript-basert front-end web-rammeverk som er åpen kildekode. For den siste versjonen av Javascript-koden, gå til denne artikkelen.
Aktiver CORS på servernivå og legg til domenet som gjør forespørselen til listen over tillatte domener.