[英]Why doesn't the JQuery AJAX call work in IE7? (for this specific example)
我确实看到了下面的链接,但不幸的是,似乎没有适用于我的代码的链接。
此功能在FF中有效,但在IE中不起作用,只是将名称值对(info /“”)发送到服务器。 不需要返回任何东西或调用任何其他函数。
有什么建议么?
function functionAX()
{
$(document).ready(function() {
$.ajax({
url: "/cgi-bin/app.exe",
method: "post",
async: false,
data: { info: "" }
});
});
}
谢谢。
编辑
看来此ajax调用有效-但仅在第一次调用时。
在上下文中:(C中的CGI应用程序,带有JS的HTML)
我有两个HTML页面。 每个页面上都有一个带有两个页面的选项卡/链接的标题。 当单击另一页/选项卡时,我调用此函数functionAX(),该函数将名称/值对发送到cgi可执行文件。 基于此输入,cgi将创建另一个html页面的新版本。 (使用async:false,只要我在点击该页面的选项卡/链接后得到一个新页面,旧页面就会锁定,直到加载新页面为止,这对于此应用程序来说是正确的)。
因此,当我返回“第2页”并选择“第1页”(第2页的第二次)时,它不再调用该函数或将任何内容发送到cgi应用...
这是浏览器设置的问题吗? 它为什么不向cgi发送任何内容?
IE7和IE6中的jQuery .ajax方法无法正常运行,但在Firefox中可以正常运行
jQuery ajax .load()在IE6 / IE7 / IE8中不起作用-在FF / Safari / Chrome中工作
根据json.org规范,您的返回无效。 名称总是用引号引起来,因此您应该返回{ "info": "" }
这可能不是设置的问题,因为您说其中一个可以与FF / etc一起使用,但是为了确保正确性,应该对其进行修复,以防将来需要切换到另一个JSON解析器。
根据您的编辑,看来IE正在缓存您的Ajax请求。 为了防止IE缓存您的Ajax请求,请执行以下操作:
{
'info': '',
'random' : Math.random()
}
我认为您应该执行以下任一操作:
$(document).ready(function() {
$.ajax({
url: "/cgi-bin/app.exe",
method: "post",
async: false,
data: { info: "" }
});
});
要么
function functionAX()
{
$.ajax({
url: "/cgi-bin/app.exe",
method: "post",
async: false,
data: { info: "" }
});
}
将功能和文档结合起来似乎很奇怪
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.