我有一个AJAX调用,每次在Mozilla和Chrome浏览器中都会触发,但不会在IE11中触发。思想得到赞赏。
function getOrders(customerId) {
alert('Test1');
$.ajax({
type: "GET",
url: '/Orders/GetOrders',
data: ({ customerId: customerId}),
dataType: 'html',
success: window.updateTable
});
alert('test 2');
}
答案 0 :(得分:2)
如前所述,您可以为cache: false
调用提供ajax
参数。
更通用的方法是使用cache-busting
技术。一种常见且简单的方法是将额外的数据附加到URL。时间戳对此非常有效:
$.ajax({
type: "GET",
url: '/Orders/GetOrders',
data: ({ customerId: customerId, cacheBust: Date.now() }),
dataType: 'html',
success: window.updateTable
});
这将创建如下网址:/Orders/GetOrders?customerId=123&cacheBust=123579285
。令人高兴的是,每次调用的时间戳都不同,因此它实际上是一种新资源,不会被缓存。
几乎在每种情况下,都可以使用这种技术来避免浏览器缓存。