java - 对 Java/Wicket 服务器的 jQuery AJAX 调用在 IE 中没有响应 (6/7/8)

标签 java jquery ajax internet-explorer wicket

注意:这与 previous question 相关.

我有一个 Wicket 页面,其中有一个表单,其中包含一些复杂的客户端交互,我决定使用 jQuery 而不是 Wicket(我知道,这是长时间的讨论)。本质上,我只是构建一个 JSON 对象,通过 AJAX 提交它,并在完成时执行一些操作。该调用在 Firefox 中工作正常,但在任何版本的 IE 中都不起作用。我已经验证过没有多余的逗号。代码如下:

var lookup = {
    'name': name,
    'description': description,
    'items': [{
        'name': itemName,
        'value': itemValue
    }]
};

$.ajax({
    type: 'post',
    url: '${callbackURL}', // This file is parsed by Wicket and receives a dynamic callback URL here. This is not jQuery!
    cache: false,
    data: {'lookup': JSON.stringify(lookup)},
    contentType: 'application/json',
    complete: function() {
        alert('This never gets called in IE!')
    }
});

有什么建议吗?谢谢!

更新:看来我的问题是由于 IE 缓存资源造成的。我已经在 HTML 文件中放入了无缓存代码,但似乎该页面仍在被缓存(并且通过扩展,它引用了 JS),或者其中包含我的 jQuery 代码的 JS 文件正在被缓存其中包含旧的回调 URL,以便服务器不会响应,因为该 URL 上不再有任何内容。当我删除漂亮的 URL 时,一切正常(因为每次 Wicket 生成 URL 时,它都是唯一的)。尽管如此,即使没有服务器响应,也不应该调用 complete 函数吗?

最佳答案

这是由于 IE 缓存过多造成的。通过向 URL 添加唯一生成的参数来解决此问题,这样浏览器每次都会认为它是一个新 URL。

关于java - 对 Java/Wicket 服务器的 jQuery AJAX 调用在 IE 中没有响应 (6/7/8),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3229945/

相关文章:

php - jQuery 尝试加载不存在的 ajax-loader.gif mod-rewrite 不起作用

javascript - 无法读取未定义的属性 'Elements' - 在 JS 控制台中

java - 将应用程序上传到 Windows 10 应用商店

javascript - 获取扩展对象的 TypeScript 代码补全

jquery - 滚动后如何显示饼图动画

javascript - 使用 Angular js 、 jQuery 和 Css 突出显示搜索到的文本

javascript - 在 AngularJS 中的 Controller 之前加载用户上下文

java - 如何在 JEE Web 应用程序的 View 部分中以加密形式显示用户 ID?

java - 为什么他们在 Java 中称它为按值传递?

java - 如何使 JAXB 注释并提供 equals/hashcode 实现