jQuery ajax使用async false不返回结果

时间:2015-01-12 17:06:11

标签: javascript jquery

我创建了一个包含jQuery ajax调用的特殊函数。我提供变量“settings”,这是一个包含操作所需的所有选项的数组。问题是该函数将数据返回给数组。

下面的ajaxPost函数工作并收集数据,并已使用alert(数据)进行测试;但是当它进入测试功能时,警报出现未定义。我的理解是async:false应该在继续之前完成该功能。有没有办法解决这个问题?

// jQuery Post功能

function ajaxPost(settings){
    showLoading(settings.loading);
    $.ajax({
        async: false,
        url: settings.file,
        type: "POST",
        data: settings.vars
    }).done(function(data){
        hideLoading();
        return data;
    }).fail( function(xhr, textStatus, errorThrown) {
        displayAlert('red',settings.bad);
        console.log(xhr.responseText);
        hideLoading();
        return '0';
    });
}

//函数调用ajaxPost();

function test(){
    var settings = {
        'file':'../functions/admin/setup/setup.php',
        'loading':'Creating Facilities',
        'vars':$('#wiz').serialize()
    }
    var test = ajaxPost(settings);
    alert(test);
}

0 个答案:

没有答案