[jQuery v. 3.3.1]
Mam aplikację internetową, na której wszystkie zasoby i ruchu są za pośrednictwem protokołu HTTPS.
Jednak stwierdziliśmy, że nie mogę wysłać $.ajax()
ani żadnego specyficznego $.get
, $.post
itd powodu (wyjście Chrome):
Odmówił połączyć „http://mywebapp/api/mycall”, ponieważ narusza następującej treści Dyrektywa dotycząca bezpieczeństwa: "connect-src" self "".
To było spowodowane strony HTTPS dokonującej żądań AJAX za pośrednictwem protokołu HTTP i znalazłem w żaden sposób zmusić HTTPS.
Co jest szalony jest to, co stałe. Wywołanie $.get('/api/mycall/')
powoduje wyświetlenie powyższego błędu za pomocą "Odmowa połączenia z" http://mywebapp/api/mycall "", która pomija końcowy ukośnik w faktycznym wywołaniu w kodzie. Tak więc z powodu błędu wygląda na to, że nie było ukośnika.
Zrobiłem kilka połączeń i każdy jeden z nich zawiedzie, gdy istnieje kończący ukośnik w url miano. Te same wszystkie odnoszą sukces bez jednego.
Więc wywołanie $.ajax({ url: '/api/mycall'})
prace, podczas gdy $.ajax({ url: '/api/mycall/'})
nie.
To wygląda na problem przekroju pochodzenia nie HTTPS. . Bez względu na kod, który został użyty, należy podać, że z pewnym kontekście na URL w stosunku do strony/witryny jest uruchomiony w –
dzwonisz $ .get z obiektem ze swoimi szczegółami jak w http: //api.jquery .com/jQuery.get/lub samo w sobie? – minikomi