Javascript Ajax调用似乎缓存在IE11中,如何每次强制执行此调用?

Javascript Ajax调用似乎缓存在IE11中,如何每次强制执行此调用?,javascript,jquery,ajax,internet-explorer,Javascript,Jquery,Ajax,Internet Explorer,我每次在Mozilla和Chrome中都会调用AJAX,但不是IE11。我很感激你的想法 function getOrders(customerId) { alert('Test1'); $.ajax({ type: "GET", url: '/Orders/GetOrders', data: ({ customerId: customerId}), dataType: 'html', success: window.updateTable }

我每次在Mozilla和Chrome中都会调用AJAX,但不是IE11。我很感激你的想法

function getOrders(customerId) {
  alert('Test1');
  $.ajax({
    type: "GET",
    url: '/Orders/GetOrders',
    data: ({ customerId: customerId}),
    dataType: 'html',
    success: window.updateTable
  });

  alert('test 2');
}

如前所述,您可以向
ajax
调用提供
cache:false
参数

更通用的方法是使用
缓存破坏
技术。一种常见且简单的方法是向URL添加额外的数据位。时间戳在这方面非常有效:

$.ajax({
  type: "GET",
  url: '/Orders/GetOrders',
  data: ({ customerId: customerId, cacheBust: Date.now() }),
  dataType: 'html',
  success: window.updateTable
});
这将创建如下URL:
/Orders/GetOrders?customerId=123&cacheBust=123579285
。好在每次调用的时间戳都不同,所以它本质上是一个新资源,不会被缓存


几乎在任何情况下都可以使用此技术来避免浏览器缓存。

如前所述,您可以为
ajax
调用提供
cache:false
参数

更通用的方法是使用
缓存破坏
技术。一种常见且简单的方法是向URL添加额外的数据位。时间戳在这方面非常有效:

$.ajax({
  type: "GET",
  url: '/Orders/GetOrders',
  data: ({ customerId: customerId, cacheBust: Date.now() }),
  dataType: 'html',
  success: window.updateTable
});
这将创建如下URL:
/Orders/GetOrders?customerId=123&cacheBust=123579285
。好在每次调用的时间戳都不同,所以它本质上是一个新资源,不会被缓存


此技术可用于在几乎所有情况下避免浏览器缓存。

使用
$的
cache:false
属性。ajax
:或只添加未使用的随机数据。还有几点建议,不要使用
alert()
进行调试
console.log()
是更好的实践和准确的方法。另外,由于all,您不需要在提供给
数据的对象周围加括号。喜欢cache:false的想法。感谢您提供的有用的JS建议,也可以使用
$的
cache:false
属性。ajax
:或者只添加未使用的随机数据。还有一些其他建议,不要使用
alert()
进行调试
console.log()
是更好的实践和准确的方法。另外,由于all,您不需要在提供给
数据的对象周围加括号。喜欢缓存:错误的想法。也谢谢你的有用建议