Tengo un formulario que realiza cálculos dinámicos y publicaciones en Pardot simultáneamente. El código ajax funciona en todos los navegadores, excepto en IE. ¿Hay alguna razón por la que no funcionará en IE? Aquí está el código:
$("#greenQuote").submit(function(e){
e.preventDefault();
premium();
var theData = $(this).serialize();
$.post("http://go.mysite.com/l/34381/2014-05-19/hr8w", theData).success(function(data){
});
});
También agregué el siguiente código y lo probé después de ver las respuestas a otras preguntas similares, pero no tuve suerte. Fue colocado por encima del "$ .post."
$.ajaxSetup({cache:false})
Respuestas
0 para la respuesta № 1Las siguientes ediciones se realizaron en el código original. También agregué un script adicional a mi página. Este código está alojado por CDNJS y se puede encontrar en: http://cdnjs.cloudflare.com/ajax/libs/jquery-ajaxtransport-xdomainrequest/1.0.2/jquery.xdomainrequest.min.js.
$("#greenQuote").submit(function(e){
e.preventDefault();
premium();
var theData = $(this).serialize();
//Eliminates "No Transport" Error in ie
jQuery.support.cors = true;
$.ajaxSetup({cache:false});
if("withCredentials" in new XMLHttpRequest())
{
//alert("CORS supported (XHR)");
$.post("http://go.mysite.com/l/34381/2014-05-19/hr8w", theData);
}
else if(typeof XDomainRequest !== "undefined")
{
//alert("CORS supported (XDR)");
$.ajax({
type: "POST",
url: "http://go.mysite.com/l/34381/2014-05-19/hr8w",
data: theData,
dataType: "json"
});
}
});
-2 para la respuesta № 2
No es una respuesta, pero quería profundizar en mi comentario. ¿Qué pasa si haces esto ...
$("#greenQuote").submit(function(e){
e.preventDefault();
$.post("http://go.mysite.com/l/34381/2014-05-19/hr8w", $(this).serialize()).success(function(data){
console.log(data);
});
});
Solo pregunto, si el JS no está llegando a su solicitud de AJAX, puede haber algo en su premium()
método que está causando que el sistema se rinda.