我正在网站上工作,我需要通过Jquery ajax调用服务来读取数据。
我正在做以下事情:
$.ajax({
type: "GET",
async: "true",
dataType: 'json',
url: urlString,
beforeSend : function (){
},
success: function (data) {
LoadData(data);
},
failure: function (request, status, error) {
alert("Request failed. Please try again later.");
},
complete: function () {
}
});
请求正常。
然而,当我使用相同的URL再次调用它时,请求直接转到“成功”,而不通过Web服务。就像数据从前一个请求中缓存一样,它会直接返回它。
对于服务器端,我使用带有Entity framework 6.0的WCF Web服务和存储过程来从数据库中读取
我的问题是:
感谢您的任何澄清
答案 0 :(得分:4)
cache
设置为false
$.ajax({
type: "GET",
cache: false,
async: "true",
dataType: 'json',
url: urlString,
beforeSend : function (){
},
success: function (data) {
LoadData(data);
},
failure: function (request, status, error) {
alert("Request failed. Please try again later.");
},
complete: function () {
}
});
答案 1 :(得分:0)
当您进行Get调用时,它将被您的浏览器缓存(客户端行为)。
您可以在通话中使用cache: false
$.ajax({
type: "GET",
async: "true",
cache: false, <---------
将缓存设置为false只能与HEAD和GET一起正常工作 要求。它的工作原理是将“_ = {timestamp}”附加到GET参数