- Angular je ena najboljših platform za razvoj spletnih aplikacij.
- Spodnji članek bo zajemal Ni glave dostop-nadzor-dovoli-izvor napaka.
- Za več vprašanj v zvezi s to temo si oglejte našo Središče z nasveti za programiranje.
- Na naši spletni strani je tudi namenska stran za orodja za razvijalce prav tako.
Ta programska oprema bo zagotovila, da bodo vaši gonilniki delovali in vas tako varovala pred pogostimi napakami računalnika in okvaro strojne opreme. Preverite vse svoje voznike zdaj v treh preprostih korakih:
- Prenesite DriverFix (preverjena datoteka za prenos).
- Kliknite Zaženite optično branje najti vse problematične gonilnike.
- Kliknite Posodobi gonilnike da dobite nove različice in se izognete sistemskim okvaram.
- DriverFix je prenesel 0 bralci ta mesec.
Eno najpogostejših sporočil o napakah, s katerimi se Angular razvijalci srečujejo pri vsakodnevnem delu, je: na zahtevanem viru ni glave dostopa-nadzora-dovoljenja-izvora.
To ni poseben kotni problem, ampak CORS (Težava z glavo (Cross-Origin Resource Sharing). To lahko pomeni, da je zaledni strežnik konfiguriran za delo na drugih vratih ali domenah.
Kako popravim napako brez nadzora dostopa v sistemu Windows 10?
1. Izvedite spremembe na ravni strežnika
Če imate dostop do strežnika, omogočite zahteve CROS z dodajanjem Access-Control-Allow-Origin: * glava. Po tem nastavite korzi vnos, pod system.webServer v web.config datoteko, kot v spodnjem primeru.
”1.0″? - omogočeno ="prav">
- izvor =“ https://someorigin.domain.com”>
- metoda ="PRIDOBI"/>
- metoda =“GLAVA”/>
- </system.webServer>
Tukaj, korzi bo dovolil GET in GLAVA zahteve od https://someorigin.domain.com/.
Tudi, če uporabljate IIS (Internet Information Services) bi morali prenesti Modul IIS CORS.
Pazite, da namesto * določite domeno ali seznam domen. V nasprotnem primeru bi bile zahteve za čezmejni izvor do strežnika omogočene od kjer koli.
Vklopljeno Apač, v konfiguracijski datoteki morate dodati vrstico Nastavitev glave Access-Control-Allow-Origin ‘*’. Ponovno je pametno zamenjati znak * s seznamom virov, od koder bi bile podane zahteve.
2. Zaženite svoj proxy strežnik
- Najprej bomo ustvarili konfiguracijsko datoteko proxy v korenski mapi Angular, imenovano src / proxy.conf.json, in vanj napišite naslednjo kodo:
{"/ api":
"target": " http://localhost: 6000 "," varno ": false}
}
- Drugič, v angular.jsondatoteko, dodajte proxyConfigmožnost v služijo cilj:
"služijo":
{-
"graditelj":" ",
-
"opcije":{"proxyConfig":"src / proxy.conf.json"}
}
- Zdaj zaženite trenutno konfiguracijo z ng služi ukaz.
Proxy strežnik bi vaše zahteve posredoval oddaljenemu strežniku. Nato bomo videli, kako konfigurirati proxy strežnik.
Zahteve za podatke v Angularju so klici API-ja na localhost na vratih 4200, kot je ta lokacija:
- http://localhost: 4200 / api / datareq.
Vendar smo v zgornjem primeru predvidevali, da so zahtevani podatki na ta lokacija:
- http://localhost: 6000 / api / datareq.
Vas zanimajo dobre proxy rešitve? Oglejte si ta seznam namenskih orodij
3. Dv brskalniku uporablja isti pravilnik o izvoru
Opomba: ta posebna metoda ni priporočljiva, saj lahko vaš brskalnik (in vaš sistem) izpostavi velikim varnostnim tveganjem.
Če vse drugo ne deluje, lahko v brskalniku onemogočite pravilnik o istem izvoru. Vendar bodite previdni, saj bi to izpostavilo vaš brskalnik (in vaš sistem) velikim varnostnim tveganjem.
Za Google Chromev sistemu Windows 10 kot skrbnik odprite ukazni poziv in zaženite naslednji ukaz:
C: Programske datoteke (x86) GoogleChromeApplicationchrome.exe "--disable-web-security --disable-gpu --user-data-dir = ~ / chromeTemp.
.
V zaključku, na zahtevanem viru ni glave dostopa-nadzora-dovoljenja-izvora sporočilo o napaki je težava na strani strežnika.
Za razvijalce Angular bi moralo spreminjanje konfiguracije strežnika ali uporaba proxy strežnika dobro delovati.
Povejte nam, kaj menite o tem vodniku v spodnjem oddelku za komentarje.
Pogosto zastavljena vprašanja
Eden od načinov za odpravo te težave je uporaba proxy strežnika. Če imate težave s povezovanjem s proxy strežnikom, glejte to popoln vodnik.
AngularJS je odprtokodni spletni okvir, ki temelji na JavaScript. Za najnovejšo različico kode Javascript pojdite na Ta članek.
Omogočite CORS na ravni strežnika in dodajte domeno, ki daje zahtevo, na seznam dovoljenih domen.