Ok, sprawdzałem to przez kilka godzin i wciąż jestem zakłopotany.Internet Explorer 10 nie wysyła danych postów Ajaxa
Eksplorator internetowy dziesięć będzie przesyłać żądania ajax za pomocą jquery, ale nie będzie zawierał danych postów.
Oto kod:
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.");
});
Każda inna przeglądarka (Safari, Opera, Chrome, Firefox, IE9) pozwoli to do pracy, ale kod nie działa w IE 10. Patrząc na niego przy użyciu pokazy Skrzypek że nagłówki są prawie takie same między innymi przeglądarkami a IE 10, ale nagłówki żądań IE 10 mają wartość Długość treści 0 i nie ma tekstu głównego.
W odniesieniu do niektórych innych problemów, które ludzie mają, nie, nie mam żadnych wtyczek stylu menedżera pobierania. Wszystkie wtyczki są domyślne. Oto zdjęcie wtyczek, które mam do nagrania.
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);
}
To jest tekst manekin z w3schools dla surowego żądanie, z własnymi danymi.
Oto przykład wartości dla danych, przekazanych przez samą Internet Explorer (z wykorzystaniem narzędzi dev)
FirstName=Joe&LastName=Spacely&EmailAddress=tester%40test.com&CAT_Custom_246311=test%3Dtest
Używam programu Internet Explorer w systemie Windows 8 10.0.9200.16519 x64 w/Media Pack.
Czy program Internet Explorer po prostu go nie obsługuje?
Każda pomoc zostanie doceniona. Och, i proszę powstrzymać się od mówienia mi o tym, jak zły jest IE. Wszyscy to wiemy, ale my, twórcy stron internetowych, musimy sobie z tym poradzić.
Czy jQuery został poprawnie dołączony do strony? – Mooseman
[w3fools] (http://w3fools.com) nie jest dobrym źródłem przykładów. Nie nazwałbym tego nawet ZŁYMI źródłami. –
Dlaczego ustawiasz "processData" na "false"? Wygląda na to, że tworzysz tam ciąg zapytania. – mattytommo