在异步ajax调用中更新外部变量

时间:2016-03-18 10:18:49

标签: javascript jquery ajax twitter-bootstrap asynchronous

目前我正在使用twitter bootstrap表单向导,其中下一个按钮单击onNext事件即可点火,我将触发ajax调用。

问题: 我拿了一个java脚本变量rsult,并在ajax返回成功数据时将其设置为false我想更新rsult变量但是在成功数据到来之前,由于ajax的异步性,其他代码开始执行。

我想做什么? 成功进入异步调用后,我想要更新rsult变量

我的代码:

onNext: function (tab, navigation, index) {
if (form.valid() == false) {
    return false;
}
else if (index == 1) {
    var rsult = false;
    $.ajax({
        url: '/abc/abc',
        type: 'POST',
        contentType: 'application/json; charset=utf-8',
        data: JSON.stringify(TFN),
        //async:false,
        success: function (data) {
            debugger;
            showMessage(data.type, data.message);
            if (data.type != "error") {
                rsult = true;
            }
            $('.nloader').hide();
        },
        error: function (xhr, ajaxOptions, thrownError) {
            showMessage("error", xhr.responseText);
        }
    });
} else {
    rsult = false;
    doError('Invalid TFN, check the digits.');
    $('.nloader').hide();
}
if (!rsult) {
    return rsult;
}
handleTitle(tab, navigation, index);
}

注意:我不想编写async:false,因为它会冻结整个浏览器

0 个答案:

没有答案