Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 44999|Atsakyti: 4

[ASP.NET] asp.net MVC leidžia vieno valdiklio metodui kirsti domenus

[Kopijuoti nuorodą]
Paskelbta 2018-07-31 10:13:37 | | | |
Kas yra Cors?

CORS yra W3C standartas, reiškiantis "Cross-origin resource sharing".
Tai leidžia naršyklei pateikti XMLHttpRequest užklausas kryžminės kilmės serveriams, taip įveikiant apribojimą, kad AJAX gali būti naudojamas tik vienodai.

1. Įvadas

CORS reikalingas ir naršyklės, ir serverio palaikymas. Šiuo metu visos naršyklės palaiko šią funkciją, o IE naršyklė negali būti žemesnė nei IE10.

Visą CORS ryšio procesą naršyklė užbaigia automatiškai ir nereikia naudotojo dalyvavimo. Kūrėjams CORS komunikacija niekuo nesiskiria nuo homologinio AJAX ryšio, o kodas yra visiškai tas pats. Kai naršyklė nustato, kad AJAX užklausa kerta šaltinį, ji automatiškai pridės papildomos antraštės informacijos, o kartais ir dar vieną papildomą užklausą, tačiau vartotojas to nepajus.

Todėl raktas į CORS ryšį yra serveris. Kol serveris įdiegia CORS sąsają, jis gali bendrauti tarp šaltinių.

Tiesą sakant, žiniatinklio serverio programos (pvz., ASP.NET ar PHP ir kt.) negali atskirti ir nevaldys, ar gaunama Http užklausa yra kryžminio domeno Ajax užklausa.CORS sukurtas šiai problemai išspręsti, o W3C pasirinktinis CORS standartas suteikia naršyklėms mechanizmą, leidžiantį Ajax kryžmines domeno užklausas.

2: Vietinis JS Ajax užklausos kodas

Kadangi nenoriu nurodyti jQuery, su js inkapsuliavau šiuos metodus:

Ajax prašo sąsajos testų ir randa klaidą taip:




Trečia: nustatykite valdiklio metodą, kad būtų leidžiamas kryžminis domenas

Šiaip sauVisi leidžiamiValdiklis arba API metodas yra kryžminis domenas, faile web.configsistema.žiniatinklio serverisPo mazgu pridedama ši konfigūracija:

Aukščiau pateiktas rezultatas nėra toks, kokio norėjome! Jei norime, kad tik domeno vardas galėtų pasiekti vieną iš mūsų sąsajų visuose domenuose, turime apibrėžti funkciją, kuri atrodo taip:

Kelių domenų prieigos teisių nustatymo kodas yra ši pastraipa HttpContext.Response.AppendHeader("Access-Control-Allow-Origin", kilmė);

Mes nustatome charakteristikas valdiklio metodo viršuje taip:

Mes vėl inicijuojame "Ajax" užklausą su rezultatu, kaip parodyta žemiau:



API sąsajos ištekliai iš kitų mūsų svetainių gali būti sėkmingai pasiekiami.

(Pabaiga)





Ankstesnis:Sveiki visi{:1_7:}
Kitą:CSS tekstas yra paslėptas už dviejų metodų ribų
 Savininkas| Paskelbta 2019-06-17 14:23:05 |
HTTP užklausos metodai yra ne tik GET ir POST, bet ir dažniausiai naudojami. Pagal RFC2616 standartą (dabartinis HTTP/1.1) paprastai yra 8 metodai: OPTIONS,, POST, PUT, DELETE, TRACE ir CONNECT.

OPTIONS užklausos metodas turi du pagrindinius naudojimo būdus:

1. Gaukite serverio palaikomą HTTP užklausos metodą; Tai taip pat dažnai naudojamas įsilaužėlių metodas.

2. Naudojamas serverio veikimui patikrinti. Pavyzdžiui, kai AJAX pateikia kelių domenų užklausą, ji turi nusiųsti HTTP OPTIONS antraštę į kito domeno vardo šaltinį, kad nustatytų, ar tikroji užklausa yra saugi.
 Savininkas| Paskelbta 2019-11-04 17:29:52 |
jquery.min.js:2 Cross-Origin Read Blocking (CORB) blocked cross-origin response http://192.168.252.193:2019/home/testsu MIME tipo programa / json. Žr.https://www.chromestatus.com/feature/5629709824032768Daugiau informacijos.
 Savininkas| Paskelbta 2020-01-19 15:33:23 |

Paskelbta 2021-11-12 15:59:52 |
Gerai parašyta, išmokta
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com