首页 > 解决方案 > 调用函数时Jquery返回空值

问题描述

我正在编写我的 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

谢谢你。

标签: javascriptphpjqueryajax

解决方案


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

请参阅:如何从异步调用返回响应?


推荐阅读