[jQuery v. 3.3.1]
Ho un'applicazione web, dove tutte le risorse e il traffico sono via HTTPS.
Eppure, ho scoperto che non posso inviare $.ajax()
o una qualsiasi delle specifiche $.get
, $.post
, ecc a causa di (uscita Chrome):
rifiutato di connettersi a 'http://mywebapp/api/mycall' perché viola il seguente contenuto Direttiva sulla politica di sicurezza: "connect-src 'self'".
Era dovuto alla pagina HTTPS che effettua le richieste AJAX tramite HTTP e non ho trovato alcun modo per forzare HTTPS.
Ciò che è pazzo è ciò che lo ha risolto. La chiamata a $.get('/api/mycall/')
restituisce l'errore precedente con "Rifiutato di connettersi a" http://mywebapp/api/mycall "", che omette la fine della barra in avanti nella chiamata effettiva nel codice. Quindi dall'errore sembra che la barra in avanti non fosse lì.
Ho effettuato più chiamate e ogni singolo errore quando è presente una barra finale nella chiamata. Gli stessi riescono tutti senza uno.
Quindi chiamare $.ajax({ url: '/api/mycall'})
funziona, mentre $.ajax({ url: '/api/mycall/'})
no.
fonte
2018-02-08 12:50:28
Sembra un problema di origine incrociata, non HTTPS. Qualunque sia il codice che hai usato, dovresti fornirlo con qualche contesto sull'URL in relazione alla pagina/sito in cui è in esecuzione. –
Stai chiamando $ .get con un oggetto con i tuoi dettagli come in http: //api.jquery .com/jQuery.get/o solo da solo? – minikomi