Возможный дубликат:
Как вернуть ответ от вызова AJAX из функции?
Я использую Jquery Ajax для вызова службы для обновления значения.
function ChangePurpose(Vid, PurId) {
var Success = false;
$.ajax({
type: "POST",
url: "CHService.asmx/SavePurpose",
dataType: "text",
data: JSON.stringify({ Vid: Vid, PurpId: PurId }),
contentType: "application/json; charset=utf-8",
success: function (data) {
Success = true;//doesnt goes here
},
error: function (textStatus, errorThrown) {
Success = false;//doesnt goes here
}
});
//done after here
return Success;
}
и служба:
[WebMethod]
public string SavePurpose(int Vid, int PurpId)
{
try
{
CHData.UpdatePurpose(Vid, PurpId);
//List<IDName> abc = new List<IDName>();
//abc.Add(new IDName { Name=1, value="Success" });
return "Success";
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
услуга называется успешно с AJAX. Значение также изменяется. Но после службы успех: или : функции не называются в этом случае успех должен был быть вызван, но он не работает.
Я использовал firebug и обнаружил, что функции успеха или ошибки пропускаются и переходят непосредственно к return Success;
Кажется, не удается найти, в чем проблема с кодом.
Заранее спасибо
Update:
добавив async: false
исправил проблему