不能在javascript中使用范围外的匿名函数的变量

时间:2014-10-07 17:29:28

标签: javascript jquery

我的设置非常简单:

var genres;
$.get('/api/genres', '', function (response) {
    genres = response.data
}, 'json');
$("#genre").tagit({
    availableTags: genres //this doesn't work
});

由于某些原因,genres方法无法访问tagit变量。我怎么做到这一点?

1 个答案:

答案 0 :(得分:2)

$.get是异步的。并不是genres无法在.tagit内访问。你的问题是,当你尝试使用它时,它仍然是未分配的。修复它的方法是在回调中移动.tagit函数:

var genres;
$.get('/api/genres', '', function (response) {
    genres = response.data
    $("#genre").tagit({
        availableTags: genres //this doesn't work
    });
}, 'json');

我还建议您阅读$.get的文档。