调用函数时,jQuery返回为空值

时间:2019-10-01 20:13:44

标签: javascript php jquery ajax

我正在处理我的jquery代码,以在刷新页面时调用函数以获取所需的值,以便获得返回值。

当我尝试这样做时:

var email_number = '';

// check if page refreshed or reloaded
if (performance.navigation.type == 1) {
    var hash    = window.location.hash;
    var mailfolder = hash.split('/')[0].replace('#', '');
    var emailid = 'SUJmaWg4RTFRQkViS1RlUzV3K1NPdz09';
    decryption(emailid, mailfolder);
}

function decryption(emailid, mailfolder) {

    $.ajax({
        url: 'decrypt.php',
        type: 'POST',

        data : {
            emailid: emailid,
            mailfolder: mailfolder
        },

        success: function(data)
        {
            email_number = data;
        }
    });
    return email_number;
}

我将得到空值。所以我尝试了这个:

function decryption(emailid, mailfolder) {
    var email_number = '';

    $.ajax({
        url: 'decrypt.php',
        type: 'POST',

        data : {
            emailid: emailid,
            mailfolder: mailfolder
        },

        success: function(data)
        {
            email_number = data;
        }
    });
    return email_number;
}

我也尝试过这个:

return;

我仍然得到空值作为回报。我检查了一个名为email_number的变量,返回值为6。当我刷新页面以调用将通过ajax运行以将值存储在变量email_number中的函数时,如何获得返回值?

谢谢。

1 个答案:

答案 0 :(得分:-3)

由于ajax调用是异步的,因此在控件执行return email_number;时,ajax正忙于获取data

请参阅:How do I return the response from an asynchronous call?