Sto facendo qualcosa di jQuery ajax piuttosto semplice sul mio sito web, e sto avendo un carico di guai.jQuery ajax non farà richieste HTTPS
Ecco il codice rilevante:
$(document).ready(function() {
$("#getdatabutton").click(function() {
$.ajax({
url: "/jsontest/randomdata",
type: "get",
data: [{name:"ymax", value:$("#randomgraph").height()},
{name:"count", value:$("#countinput").val()},
{name:"t", value:Math.random()}],
success: function(response, textStatus, jqXHR) {
data = JSON.parse(response);
updateGraph(data);
$("#result").html(response);
if(data["error"] == "") {
$("#errorbox").html("None");
}
else {
$("#errorbox").html(data["error"]);
}
},
error: function(jqXHR, textStatus, errorThrown) {
$("#errorbox").html(textStatus + " " + errorThrown);
}
});
});
});
La pagina viene caricata tramite HTTPS, ma i XMLHttpRequests sembrano uscire su HTTP.
Ho tentato anche di modificare l'url nell'URL assoluto (https://larsendt.com/jsontest/randomdata) e lo ancora invia la richiesta alla versione HTTP del mio sito.
Naturalmente, poiché la richiesta sta per un protocollo diverso, la chiamata ajax fallisce (dominio incrociato e tutto il resto).
Come riportato da Chrome:
The page at https://larsendt.com/jsontest/ displayed insecure content from http://larsendt.com/jsontest/randomdata/?ymax=500&count=32&t=0.08111811126582325.
L'unica altra informazione pertinente che posso pensare è che io sto avendo nginx fanno un reindirizzamento 301 http://larsendt.com-https://larsendt.com, ma non vedo come sarebbe rompere qualsiasi cosa (credo che sia una pratica abbastanza standard).
Se si desidera una demo dal vivo, la versione guasto è ancora attiva su https://larsendt.com/jsontest.
In ogni caso, grazie in anticipo.
Ti spiace cambiare il titolo del tuo post in modo che le persone con questa query non atterrino in questa pagina .. – brayne