不知道大家是否遇到過Web API查詢數據時存在緩存的問題,當你頻繁在調試一段查詢數據的api時,有時會發現不管你怎麼調數據都沒有變化,那很有可能是緩存在作祟,在你的請求頭部加上一段"Cache-Control"的"no-cache"設置後,就可以實現無緩存查詢了。
當然這種方式適合你自己寫的web request,SDK中自帶的Xrm.WebApi的接口就不行了。
var req = new XMLHttpRequest();
req.open("GET", encodeURI(Xrm.Utility.getGlobalContext().getClientUrl() + "/api/data/v9.1/salesorders("+vcontractid+")?$select=sfdhl_contract_tree,name"), false);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.setRequestHeader("OData-MaxVersion", "4.0");
req.setRequestHeader("OData-Version", "4.0");
req.setRequestHeader("Prefer", "odata.include-annotations=\"OData.Community.Display.V1.FormattedValue\"");
req.setRequestHeader('Cache-Control', 'no-cache');
req.send();
if (req.status == 200) {
}