【发布时间】:2011-06-03 06:48:20
【问题描述】:
我正在处理的项目中有以下代码块:
if(!validate($(".emailbody input").val())){
...
}
else{
$.get("https://get.request.com/something", {email:encodeURI($(".emailbody input").val())})
.complete(function(){
$(".emailbody").append($('<p class="emailsucess">Kiitos! Linkki rekisteröitymisen jatkamiseen on lähetetty sähköpostiisi: '+$(".emailbody input").val()+'</p>'));
$.post("http://post.request/confirm.php", {"confirm":$(".emailbody input").val()})
$(".emailbody input").val("");
});
}
一个简单的 get 请求将内容放入连接服务的数据库中,然后一个 post 响应从本地主机发出一封邮件。
我的问题是这样的:
在除 IE(任何版本)之外的所有其他浏览器中,这都能正常工作并且没有任何问题,但是对于 IE,GET 调用甚至不会出现在网络流量中,它会被忽略,不会被调用,而是完整的呼叫仍然像通过 OK 一样进行!
这是 https 服务的问题,还是我遗漏了什么?
更新: 我通过对本地文件发出 post 调用解决了这个问题,该文件在 GET 请求上 ping 到外部服务器,所以现在可以工作,但它是一种愚蠢的做事方式。任何能对此有所了解的人将不胜感激。
【问题讨论】:
-
尝试在末尾添加一个随机值变量,或者一个时间戳。 IE 有缓存请求的坏习惯。
-
似乎没有帮助,即使更改发送的地址/添加时间戳变量,它似乎仍然没有尝试发送。
-
https://get.request.com与页面所在的域相同吗?发送页面也已经在 https 上了?
标签: jquery ajax internet-explorer post get