jquery 自动完成未选取动态数据

jquery autocomplete not picking dynamic data

我正在使用以下代码,它总是获取 availableTags 中定义的硬编码数据。如果我从 C# WebApi 动态加载数据,它仍然会获取旧数据,即 ActionScript 和 AppleScript。

如您所见,我正在打印之前和之后的值,它们都正常工作,即如我所见,它将新数据分配给 availableTags,但自动完成仍然适用于旧数据。我可以在 availableTags 中定义多少个项目?因为它动态地从我的代码中获取了 504 个项目,所以这可能是问题所在吗?

我做错了什么?

<input id="tags">

<script>
var availableTags =
[
    "ActionScript",
    "AppleScript"
];

$("#tags").autocomplete
({
    source: availableTags
});

$.getJSON("MyController/GetAllTags")
    .done(function (data)
    {
        alert("Before="+ availableTags);
        availableTags = data;
        alert("After="+ availableTags);
    });
</script>

试试这个

<input id="tags">

<script>
var availableTags =
[
    "ActionScript",
    "AppleScript"
];

$("#tags").autocomplete
({
    source: availableTags
});

$.getJSON("MyController/GetAllTags")
    .done(function (data)
    {
        $("#tag").autocomplete('option', 'source', data)
    });
</script>

编辑 1:更新代码