我在sharepoint页面中有一个Web部件,要求服务器提供数据。为此,我在我的代码中发出一个ajax请求,如下所示
function GetPeriod() {
var period;
$.ajax({
url: GetBaseWSUrl() + 'MyWebService.asmx/GetPeriod',
type: "post",
dataType: "json",
data: JSON.stringify({}),
contentType: "application/json; charset=utf-8",
async: false,
success: function (data) {
period = data.d;
}
});
return period;
}
在Web服务MyWebService.asmx
内部,我使用方法GetPeriod()
,然后查询数据库中的数据并将此数据作为JSON对象返回。
我在一段代码中遇到问题,它执行以下操作:
GetPeriod()
函数GetPeriod()
函数当我在n°3点调用GetPeriod()
函数时,即使这些数据在数据库中正确保存,我也无法看到更新的数据!
起初我认为是同步问题,所以我添加了async: false
param,但它没有解决问题。
现在我认为这是一个缓存问题(因为数据已经正确保存到数据库中)所以我尝试使用cache: false
参数,但这些解决方案都不适用于我。
我还尝试将数据库置于分析之下,即使我可以看到客户端发出http请求的时间与执行查询的时间之间存在差异,我也可以看到有效请求被调用在数据库上。
我完全迷失了这个......
有帮助吗?
答案 0 :(得分:0)
我之前遇到过这种情况。并通过以下方式解决它:
$.ajaxSetup({
// Disable caching of AJAX responses */
cache: false
});
我不知道为什么作为$ .ajax一部分的缓存选项不起作用,但这可能会。