У меня есть веб-часть на странице sharepoint, которая запрашивает данные у сервера. Для этого я делаю 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;
}
Внутри веб-службы MyWebService.asmx
У меня есть метод GetPeriod()
, который в свою очередь запрашивает данные в базе данных и возвращает эти данные в виде объекта JSON.
У меня проблема с фрагментом кода, который выполняет следующие действия:
- Сначала код вызывает функцию
GetPeriod()
- Затем пользователь может изменить некоторые данные и отправить изменения на сервер
- Наконец, код снова вызывает функцию
GetPeriod()
Когда я вызываю функцию GetPeriod()
в точке n ° 3, я не могу видеть обновленные данные, даже если эти данные правильно сохранены в базе данных!
Сначала я подумал, что это проблема синхронности, и поэтому я добавил параметр async: false
, но это не решило проблему.
Теперь я думаю, что это проблема с кэшем (потому что данные были правильно сохранены в базе данных), поэтому я попытался с параметром cache: false
, но ни одно из этих решений не работает для меня.
Я также пытался поставить базу данных под профилирование и вижу, что эффективный запрос вызывается, даже если я вижу несоответствие между временем, когда клиент отправил http-запрос, и временем, когда запрос был выполнен эффективно. в базе данных.
Я полностью заблудился об этом ....
Любая помощь?