/ / Łączenie zewnętrznej biblioteki JS i uzyskiwanie błędu XMLHttpRequest - javascript, c #, asp.net

Łączenie zewnętrznej biblioteki JS i uzyskiwanie błędu XMLHttpRequest - javascript, c #, asp.net

Muszę użyć biblioteki JavaScript i mieć do niej takie odwołania:

    <script type="text/javascript" src="https://js.authorize.net/v1/Accept.js"></script>

Jednak pojawia się komunikat o błędzie:

XMLHttpRequest nie można załadować https://js.authorize.net/v1/AcceptCore.js. Żądany nagłówek „Access-Control-Allow-Origin” nie występuje ratunek.

Sprawdziłem ten problem i wypróbowałem różne fragmenty kodu i pomysłów, ale to nie zadziałało. Używam ASP.NET, formularzy internetowych i c #. Próbowałem dodać inny kod do mojego pliku web.config, na przykład

  <system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*"/>
</customHeaders>
</httpProtocol>
</system.webServer>

i

   <system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
</customHeaders>
</httpProtocol>
</system.webServer>

Próbowałem również zalecić instalację Corsa, ale używam frameworka 4.0. Cors wymaga wersji 5.0 i nie można jej zainstalować.

Odpowiedzi:

1 dla odpowiedzi № 1

Skrypt, który ładujesz, właśnie się odwraca i używa XMLHttpRequest załadować kolejny (również z js.authorize.netto); to żądanie zostało odrzucone, ponieważ pochodzenie twojej strony nie jest dozwolone. Wygląda na coś w rodzaju autoryzacji, która uniemożliwia pobieranie JS z nieautoryzowanych źródeł.

Nic Ty po swojemu zmieniasz reguły CORS na stronie js.authorize.net. To ten serwer, js.authorize.net, musi zezwolić twojemu pochodzeniu na wykonanie żądania.

Będziesz musiał współpracować z osobami stojącymi za js.authorize.net, aby uzyskać dostęp.


1 dla odpowiedzi nr 2

Być może zostało to dodane od czasu pierwotnego postu, ale dla innych, Authorize.net rozwiązuje ten problem na stronie Accept.js w swojej witrynie.
Połączyć: https://developer.authorize.net/api/reference/features/acceptjs.html

UWAGA: W przypadku debugowania może pojawić się błąd XMLHttpRequest w konsoli JS. Wynika to z faktu, że naszej biblioteki przetwarzania podstawowego nie można wywoływać bezpośrednio i jest to oczekiwane ostrzeżenie dotyczące bezpieczeństwa.

Mimo błędu wszystko nadal działa.