Ok, ho studiato questo per diverse ore e sono ancora perplesso.Internet Explorer 10 non inviato Ajax Post Data
Internet Explorer 10 invierà richieste Ajax utilizzando jquery, ma non includerà i dati del post.
Ecco il codice:
var ajaxData = "FirstName="+encodeURIComponent($('#FirstName').val()); //get the data from the account form
ajaxData += "&LastName="+encodeURIComponent($('#LastName').val());
ajaxData += "&EmailAddress="+encodeURIComponent($('#EmailAddress').val());
ajaxData += "&CAT_Custom_246311="+encodeURIComponent(listData);
var config = {
async: false,
type: "POST",
url: "/FormProcessv2.aspx?WebFormID=44714&OID={module_oid}&OTYPE={module_otype}&EID={module_eid}&CID={module_cid}&JSON=1",
dataType: "json", // text"json",
processData: false,
data: ajaxData,
timeout: 70000,
cache: false,
};
$.ajax(config)
.done(function(data, event) {
if(data.FormProcessV2Response.success == true){ //success field is in BC response
alert("The list was submitted sucessfully.");
console.log(XHR);
} else{
alert("An error occurred and the list was not submitted.");
}
})
.fail(function(msg,event) {
alert("An error occurred and the list was not submitted.");
});
ogni altro browser (Safari, Opera, Chrome, Firefox, IE9) permetterà che questo lavoro, ma il codice non in IE 10. Guardando la cosa con spettacoli violinista che le intestazioni sono quasi le stesse tra gli altri browser e IE 10, ma le intestazioni delle richieste di IE 10 hanno un valore di lunghezza contenuto pari a 0 e non c'è testo del corpo.
In riferimento ad alcuni degli altri problemi che le persone hanno avuto, no, non ho alcun plugin in stile download manager. Tutti i plugin sono predefiniti. Ecco una foto dei plugin che ho per il record.
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("POST",config.url,true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send(config.data);
}
Questo è il testo fittizio da W3Schools per una richiesta di materie prime, con i miei dati.
Ecco un esempio del valore per i dati che viene data da Internet Explorer per sé (utilizzando strumenti di sviluppo)
FirstName=Joe&LastName=Spacely&EmailAddress=tester%40test.com&CAT_Custom_246311=test%3Dtest
Sto usando Internet Explorer 10.0.9200.16519 su Windows 8 x64 w/pacchetto software.
Internet Explorer non lo supporta affatto?
Qualsiasi aiuto sarebbe apprezzato. Oh, e per favore evita di dirmi quanto sia cattivo IE. Lo sappiamo tutti, ma noi sviluppatori web dobbiamo ancora occuparcene.
Hai jQuery incluso correttamente nella tua pagina? – Mooseman
[w3fools] (http://w3fools.com) non è certo una buona fonte per gli esempi. Non lo chiamerei nemmeno una fonte BAD. –
Perché stai impostando 'processData' su' false'? Sembra che tu stia creando una stringa di query dei dati lì. – mattytommo