我确实看到了下面的链接,但遗憾的是我的代码似乎没有任何内容。
此功能在FF中工作,但在IE中不起作用,只需将名称值对(info /“”)发送到服务器即可。不需要返回任何东西或调用任何其他功能。
有什么建议吗?
function functionAX()
{
$(document).ready(function() {
$.ajax({
url: "/cgi-bin/app.exe",
method: "post",
async: false,
data: { info: "" }
});
});
}
谢谢。
修改
看来这个ajax调用有效 - 但只是第一次被调用。
在上下文中:(C中的cgi app,JS中的html)
我有两个html页面。在每个页面上都有一个标题,其中包含两个页面的标签/链接。当单击其他页面/选项卡时,我调用此函数functionAX()将名称/值对发送到cgi可执行文件。根据此输入,cgi将创建另一个html页面的新版本。 (使用async:false,旧页面将锁定,直到加载新页面,这对于此应用程序来说很好,只要我在点击该页面的选项卡/链接后获得一个新页面)。
所以当我回到“第2页”并选择“第1页”(第2页第二次)时,它不再调用该函数或向cgi应用程序发送任何内容......
这是浏览器设置的问题吗?为什么不向cgi发送任何内容?
jQuery .ajax method in IE7 & IE6 not working but working fine in Firefox
Why doesn't this simple jQuery ajax work?
jQuery/Ajax call - It Doesn't work on IE7
jQuery ajax .load() not working in IE6/IE7/IE8 - Working in FF/Safari/Chrome
答案 0 :(得分:1)
根据json.org规范,您的退货无效。这些名称总是被引用,因此您应该返回{ "info": "" }
这可能不是您的设置问题,因为您说其中一个可以与FF / etc一起使用,但是如果您将来需要切换到另一个JSON解析器,它应该是正确的。
根据您的编辑,似乎IE正在缓存您的Ajax请求。为防止IE缓存您的Ajax请求,请执行以下操作:
{
'info': '',
'random' : Math.random()
}
答案 1 :(得分:-1)
我认为你应该这样做:
$(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: "" }
});
}
将函数和document.ready
结合起来似乎很奇怪