我有一个公式,当我按下按钮时,我必须处理异步Ajax请求。在nextButtonHandler()
的所有进程完成后,应调用函数requestForTariff()
。我尝试了以下内容,但它并没有等到请求处理结束。
$.when(requestForTariff(requestType.Street)).done(function(){
nextButtonHandler()
});
这是我的Ajax功能:
function requestForTariff(requestParam) {
$.ajax({
type: 'POST',
url: //...,
data: getRequestJSON(requestParam),
success: function(data, status) {
if (status == "success") {
if (requestParam == requestType.Street) {
handleResult(data);
}
//...
}
},
contentType: "application/json",
dataType: 'json',
error: // ...
});
答案 0 :(得分:1)
感谢Adreas的评论,将我的requestForTariff()
功能更改为
function requestForTariff(requestParam) {
return $.ajax({
type: 'POST',
url: //...,
data: getRequestJSON(requestParam),
success: function(data, status) {
if (status == "success") {
if (requestParam == requestType.Street) {
handleResult(data);
}
//...
}
},
contentType: "application/json",
dataType: 'json',
error: // ...
});
解决了我的问题。