Ho un client API che effettua una richiesta JSONP utilizzando JQuery. Tutto funziona correttamente quando questo client API non utilizza SSL, tuttavia, fallisce quando viene utilizzato SSL.La richiesta JSONP ha esito negativo quando viene utilizzato https anziché http
Per esempio ho un URL http://apiclient.com e sto facendo seguente richiesta JSONP da questo dominio:
$.ajax({
url: url,
dataType: "jsonp",
contentType: "application/json; charset=utf-8",
success: function(data)
{
$.each(data.services, function(index, service) {
processService(service);
});
}
});
vedo apposita richiesta fatta ospite API specificato nell'URL e la funzione di callback nel successo viene chiamata correttamente con dati formattati correttamente passati su di esso.
Tuttavia quando cambio sopra URL del client API per https://apiclient.com, nessuna richiesta si osserva a Host API. Non vedo errori in entrambi i lati dei registri.
Nota: unica differenza è http a https sul lato client API.
È necessario gestire la richiesta JSONP in modo diverso quando si utilizza il dominio https?
Grazie.
Modifica: Questo problema si verifica solo con Chrome. Funziona con Firefox e Safari. Tuttavia ho ricevuto un avviso rapido su FireFox che mi chiedeva di effettuare una richiesta non crittografata dal sito crittografato . L'ho permesso e non ho più visto l'avviso.
Il server è configurato per accettare le richieste Https? Alla tua domanda ajax, aggiungi anche una funzione di errore e controlla se riscontri degli errori. – ryadavilli
Puoi chiamare normalmente l'URL dell'API https? Forse c'è un errore del certificato o qualcosa del genere? – AndreKR
@ryadavilli no Gestore di errori AJAX per richieste 'jsonp'. Vedere documenti ** Nota: questo gestore non viene chiamato per richieste di script e JSONP tra domini. ** – charlietfl