我确实看到了下面的链接,但不幸的是,似乎没有任何内容适用于我的代码。
此函数在 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 发送任何内容?
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
最佳答案
根据 json.org 规范,您的返回无效。名称始终被引用,因此您应该返回 { "info": ""}
这可能不是您的设置的问题,因为您说其中一个可以与 FF/etc 一起使用,但应该修复它以确保正确性,以防您将来需要切换到另一个 JSON 解析器。
根据您的编辑,IE 似乎正在缓存您的 Ajax 请求。要阻止 IE 缓存您的 Ajax 请求,请执行以下操作:
{
'info': '',
'random' : Math.random()
}
关于javascript - 为什么 JQuery AJAX 调用在 IE7 中不起作用? (对于这个具体的例子),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4260458/