Wordpress ajax with async false

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

标签: javascript php jquery ajax wordpress

在WordPress中,我想在函数

之外使用ajax返回值

实施例

function get_login_member($) {
    $.post(ajax_object.ajax_url, {action: 'getloginmember'}, function (data) {
            data = JSON.parse(data);

            if (data['id'] > 0) {
                return data;
            } else {
                return 0;
            }
    });
}

这个函数从

调用
var row = get_login_member($);

row变量为undefined,因为它在ajax请求成功之前执行

使用Jquery ajax,可以通过async:false

来完成

在WordPress中有没有办法做到这一点

1 个答案:

答案 0 :(得分:2)

忘记sycnhronous ajax - 最简单的解决方案是使用回调

function get_login_member($, cb) {
    $.post(ajax_object.ajax_url, {action: 'getloginmember'}, function (data) {
            data = JSON.parse(data);

            if (data['id'] > 0) {
                cb(data);
            } else {
                cb(0);
            }
    });
}

然后

get_login_member($, function(row) {
    // put your code here
});