Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 44999|Odgovoriti: 4

[ASP.NET] asp.net MVC omogoča, da ena sama metoda krmilnika prečka domene

[Kopiraj povezavo]
Objavljeno na 31. 07. 2018 10:13:37 | | | |
Kaj je Cors?

CORS je standard W3C, kar pomeni "Cross-origin resource sharing (izmenjava virov med izvori".
Brskalniku omogoča, da pošilja zahteve XMLHttpRequest strežnikom med izvori, s čimer premaga omejitev, da se AJAX lahko uporablja le homogeno.

1. Uvod

CORS zahteva podporo tako brskalnika kot strežnika. Trenutno to funkcijo podpirajo vsi brskalniki, brskalnik IE pa ne sme biti nižji od IE10.

Celoten komunikacijski proces CORS se samodejno zaključi s strani brskalnika in ne zahteva sodelovanja uporabnika. Za razvijalce CORS komunikacija ni nič drugačna od homologne AJAX komunikacije, koda pa je popolnoma enaka. Ko brskalnik ugotovi, da AJAX zahteva prečka vir, samodejno doda dodatne informacije v glavo in včasih še eno dodatno zahtevo, vendar uporabnik tega ne bo zaznal.

Zato je ključ do doseganja komunikacije CORS strežnik. Dokler strežnik implementira CORS vmesnik, lahko komunicira med različnimi viri.

Pravzaprav programi spletnih strežnikov (kot so ASP.NET ali PHP itd.) ne morejo razlikovati in ne bodo upravljali, ali je dohodna HTTP zahteva Ajax čez domene.CORS je zasnovan za rešitev tega problema, W3C prilagojen CORS standard pa brskalnikom omogoča mehanizem za Ajaxove zahteve med domenami.

2: Izvorna koda za zahtevo JS Ajax

Ker ne želim navajati jQuery, sem naslednje metode zajel z js, in sicer:

Ajax zahteva preizkuse vmesnika in najde napako, kot sledi:




Tretjič: Nastavite metodo krmilnika, ki omogoča meddomensko delovanje

Tako takoVsi so dovoljeniMetoda krmilnika ali API-ja je meddomenska v datoteki web.configsystem.webServerPod vozliščem je dodana naslednja konfiguracija:

Zgornje ni rezultat, ki smo si ga želeli! Če želimo dovoliti dostop do enega od naših vmesnikov med domenami, moramo definirati funkcijo, ki izgleda takole:

Koda za nastavitev dovoljenj za dostop med domenami je ta odstavek HttpContext.Response.AppendHeader("Access-Control-Allow-Origin", izvor);

Lastnosti na vrhu metode krmilnika nastavimo takole:

Ponovno začnemo Ajaxovo zahtevo z rezultatom, kot je prikazano spodaj:



API vmesniki z naših drugih spletnih strani so uspešno dostopni.

(Konec)





Prejšnji:Pozdravljeni vsi{:1_7:}
Naslednji:CSS besedilo je skrito za obema metodama
 Najemodajalec| Objavljeno na 17. 06. 2019 14:23:05 |
HTTP metode za zahteve niso le GET in POST, ampak so le najpogosteje uporabljene. Po RFC2616 standardu (trenutni HTTP/1.1) obstaja običajno 8 metod: OPTIONS,, POST, PUT, DELETE, TRACE in CONNECT.

Metoda zahteva OPTIONS ima dve glavni uporabi:

1. Pridobiti podporo za HTTP zahtevo na strežniku; To je tudi metoda, ki jo hekerji pogosto uporabljajo.

2. Uporablja se za preverjanje zmogljivosti strežnika. Na primer, ko AJAX pošlje zahtevo čez domene, mora poslati HTTP OPTIONS glavo viru druge domene, da ugotovi, ali je dejanska zahteva varna.
 Najemodajalec| Objavljeno na 4. 11. 2019 17:29:52 |
jquery.min.js:2 Cross-Origin Read Blocking (CORB) blocked cross-origin response http://192.168.252.193:2019/home/testz MIME tipom aplikacije/json. Glejhttps://www.chromestatus.com/feature/5629709824032768za več podrobnosti.
 Najemodajalec| Objavljeno na 19. 01. 2020 15:33:23 |

Objavljeno na 12. 11. 2021 15:59:52 |
Dobro napisano, učeno
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com