我有一个在 FF、Chrome、Opera 和 Safari 中工作的 ajax 请求。我在 IE 中对其进行了测试,它执行了两个请求中的第一个。它从 php 脚本中获取 IP,但是当它发布到我的 java servlet 时,它不会发出请求;我用小提琴和wireshark进行了测试,请求没有被发送出去。我尝试将 ajax 缓存设置为 false 没有帮助。不确定它可能是什么。php 发送的唯一区别是 IE 不发送 Client Accept-Charset。这让我相信这个问题与第一个请求有关;但是它正确地获取了数据,所以我有点难以理解?我删除了特定地址,但其余代码或多或少相同。
更改了我的代码,以便我没有嵌入式请求,我准备好文档,阻止 IE 冻结但它仍然没有发送出去。它现在还返回 Ajax 请求上的一般错误返回。更改代码更像下面
<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>
谢谢。