У меня есть функция JavaScript, называемая GetRequest (), которая вызывает сервер с помощью $ .ajax () и получает строку json:
function GetRequest(ThePage) {
RequestedPage = parseInt(ThePageNumber,10);
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "../Pages/MyPage.aspx/GetPage",
data: "{'ThePage':'" + ThePageNumber + "'}",
dataType: "json",
success: function (msg) {
var data = msg.hasOwnProperty("d") ? msg.d : msg;
OnSucessCallBack(data);
},
error: function (xhr, status, error) {
alert(xhr.statusText);
}
});
};
У меня есть функция с именем ShowData (), которая вызывает GetRequest ()и должен ждать, пока GetRequest получит свои данные, прежде чем продолжить.
function ShowData() {
//some code that determines the page number
GetRequest(ThePageNumber);
//wait until the data is in
};
Я использую GetRequest в нескольких местах, поэтому не могу использовать его функцию успеха в контексте ShowData.
Как мнезаставить мою функцию ShowData приостановить ее выполнение до завершения GetRequest?Я думал об изменении функции OnSuccessCallBack и определил, какая функция изначально вызывала GetRequest (), но я не уверен, как лучше всего это сделать.
Спасибо за ваши предложения.