This question already has answers here:
How do I return the response from an asynchronous call?
                            
                                (39个答案)
                            
                    
                3年前关闭。
        

    

我想从response方法中提取变量mentionsInput()并在该方法之外使用它,但是当我在此变量上尝试alert()时,它为空。

jQuery(document).ready(function() {
    var choix = $('#choixaide').val();
    var choix_sous_theme1 = $('#choix_sous_theme1aide').val();

    $('textarea.mention1').mentionsInput('val', function(text) {
        var response = text;
    });

    alert(response);
});


谢谢你的帮助。

最佳答案

就像现在一样,response仅在mentionsInput方法的范围内可用,而在其外部则不可用。

此外,在运行代码时,我看到以下错误:


  未捕获的TypeError:$(...)。mentionsInput不是函数“ ...


您确定已正确加载jquery.mentionsInput UI component吗?如果您也遇到此错误,则需要先解决此错误。

然后,您需要在response方法之前和之外声明变量mentionsInput,然后在mentionsInput中进行设置。为response设置的值应在与alert调用相同的作用域中可用。

09-10 18:09