Jquery Ajax请求不在IE中发送
我有一个在FF,Chrome,Opera和Safari中工作的ajax请求。我在IE中测试了它,它做了两个请求中的第一个。它从一个php脚本获取IP,但是当它发布到我的java servlet时,它不会发出请求;我用小提琴和wireshark进行测试,并且请求没有被发送出去。我试过将ajax缓存设置为false并没有帮助。不知道它可能是什么。在PHP发出的唯一区别是IE不发送客户端接受字符集。这使我相信这个问题与第一个要求有关;然而它正确地获取数据,所以我有点难过的想法?我删除了特定的地址,但其余的代码差不多。
更改我的代码,以便我没有嵌入的请求,我准备好文档,停止IE冻结但它仍然不发送。此外,它现在返回Ajax请求上的一般错误返回值。更改下面的代码更多Jquery Ajax请求不在IE中发送
<script>
$(function()
{
function myfunction(event)
{
var email = $("#emailInput").val();
if (email.indexOf('@') == -1 || email.indexOf('.') == -1)
{
alert("Please Enter a Valid Email");
}
else
{
var eEmail = "email:" + email +"," + "ip:" + ip;
Email = "="+encodeURIComponent(eEmail);
$.support.cors = true;
$.ajax(
{
url: 'myServletURI',
type: 'POST',
data: eEmail,
cache: 'false',
error: function(xhr,textStatus)
{
alert(textStatus);
},
success: function(data)
{
//I have a JS lib I wrote to parse results
var result = makeDictionary(data);
if(result["command"] == "failed")
{
alert("Error");
}
else
{
window.location = "goToNextPage.html";
}
}
});
}
}
return false;
});
</script>
谢谢。
你,你认为这可能是一个跨站点错误评论让我,也许这会握着你的答案的事情:Access denied to jQuery script on IE
要点是,你不能使用jQuery使IE跨站点Ajax请求,你必须使用XDomainRequest。
这是问题所在。在你发布这个版本之前就已经解决了这个问题。但是,是的,谢谢。 – CubanAzcuy 2012-07-14 15:57:53
我使用“GET”,而不是“POST”,它的工作对我来说在IE9
您是否发射了IE浏览器的开发者工具“F12”,并确保有没有在控制台中的任何JavaScript错误?你也可以尝试一步一步的调试,看看你是否能以这种方式获得更多信息。 – MichaC 2012-07-12 00:34:23
是的我得到了更多的数据,但它并没有帮助我,它让我认为它是跨站点错误,但我已经在我的servlet中启用它,正如所有其他浏览器获得响应所示,所以仍然卡住。我回到了XHR元数据 'readyState的 Number' '状态 Number' '状态文本\t“否传输” \t String' – CubanAzcuy 2012-07-12 03:37:48
我可能已经找到了解决办法,此刻不能检查将重新明天发布。 [链接](http://*.com/questions/9160123/no-transport-error-w-jquery-ajax-call-in-ie) – CubanAzcuy 2012-07-12 03:56:54