Ajax Richiesta GET su HTTPS

Come posso inviare una richiesta GET ajax su HTTPS ?

$.get lancia questo:

 XMLHttpRequest cannot load https://********. Origin null is not allowed by Access-Control-Allow-Origin. 

C’è un altro modo o qualche soluzione per farlo funzionare?

Se navigo nell’URL con Chrome, sono in grado di ottenere la risposta. Non vedo ragioni per cui non dovrebbe funzionare il lavoro su una richiesta Ajax.

Non è ansible effettuare una richiesta AJAX a una pagina https se si è attualmente in http causa della stessa politica di origine .

L’ host , la porta e lo schema (protocollo) devono essere gli stessi per far funzionare la richiesta AJAX.

È ansible accertarsi che la pagina di origine si trovi sullo stesso host e schema o implementare CORS (condivisione delle risorse di origine incrociata) sul dominio di destinazione per consentire questa particolare richiesta.

[jQuery v. 3.3.1]

Ho un’applicazione web, dove tutte le risorse e il traffico sono via HTTPS.

Tuttavia, ho scoperto che non posso inviare $.ajax() o alcuno specifico $.get , $.post , ecc. A causa di (output di Chrome):

Rifiutato di connettersi a ” http: // mywebapp / api / mycall ” perché viola la seguente direttiva sui criteri di sicurezza dei contenuti: “connect-src ‘self'”.

Era dovuto alla pagina HTTPS che faceva le richieste AJAX tramite HTTP e non ho trovato modo di forzare HTTPS.

Ciò che è pazzo è ciò che lo ha risolto. Chiamando $.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 fatto più chiamate e ogni singolo errore quando viene chiamata una barra finale nella url. Gli stessi riescono tutti senza uno.

Quindi chiamare $.ajax({ url: '/api/mycall'}) funziona, mentre $.ajax({ url: '/api/mycall/'}) no.