我有一個web部件在一個sharepoint頁面中,向服務器請求數據。要做到這一點我想提出一個Ajax請求在我的代碼類似以下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()
功能
當我停靠的GetPeriod()
功能點n°3即使這些數據正確保存在數據庫中,我也無法看到更新的數據!
起初我還以爲是同步的問題,所以我已經添加了async: false
PARAM但它did'nt解決問題。 現在我想這是一個緩存問題(因爲數據已被正確保存到數據庫),所以我嘗試了cache: false
param,但這些解決方案都不適用於我。
我也嘗試將數據庫置於分析中,我可以看到有效的請求被調用,即使我可以看到客戶端發出http請求的時間與查詢得到的時間之間的差異在數據庫上執行。
我完全迷失了這個....
任何幫助嗎?
這是在所有瀏覽器中發生的嗎?或只是ie? – Patricia
@Patricia:我只是想與IE8/9因爲共享點:)當然, – Lorenzo
沒錯。在過去,我遇到了一個與cache:false選項有關的問題。我會把我如何解決它的答案。 – Patricia