У меня есть функция вызова jjery Ajax, которую я использую для отправки формы в базу данных для сохранения.
Также используйте это, чтобы получить данные с сервера и показать пользователю.
Когда я публикую \ сохраняю данные формы, я должен показать результат публикации пользователю независимо от того, произошла ошибка или нет.
Все работает нормально, если я работаю в синхронном режиме. Я получаю данные, если хочу, или получаю результат после публикации, используя этот единственный метод.
Но, похоже, он не работает в асинхронном режиме.
Как передать данные обратно вызывающей стороне? Веб-сервис возвращает данные правильно.
Смотрите предупреждение () у меня есть. Он показывает мне данные.
Как я могу получить данные и показать их пользователю, опубликовать данные и показать результат пользователю в асинхронном режиме?
Нужно ли создавать 2 отдельные функции: одну для получения, а другую для публикации?
Вот функция:
function MakeAjaxCall(svr, webmethod_name, op, btn, rslt, bGetData) {
var data = "";
var args = '';
var l = arguments.length;
if (l > 7) { for (var i = 7; i < l - 1; i += 2) { if (args.length != 0) args += ','; args += '"' + arguments[i] + '":"' + arguments[i + 1] + '"'; } }
var surl = "http://<myserver>/" + svr + '.aspx';
$.ajax({
type: "POST",
async: (op == "sync") ? false : true,
url: surl + "/" + webmethod_name,
data: "{" + args + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function ShowSuccess(res) {
//alert('dfx res:'+res.d);//THIS SHOWS THE DATA FROM SQL CALL FINE
data = res.d;
},
fail: function ShowFail(xhr) {
data = "ERROR";
}
});
}