getJSON如何将数据设置为数组?

时间:2012-02-14 01:29:59

标签: jquery json autocomplete

我是一名业余程序员,所以对我很轻松。我试图只调用一次getJson来拉一个数组,然后让jquery自动完成使用它作为源。似乎这段代码永远不会调用处理程序。

<script>   

$(function () {
        var availableTags[];
        $.getJSON("./Handler.ashx", function(data) {
            availableTags = data;
        });

        $("#TextBox3").autocomplete({
            source: availableTags
        });
    });
</script>

下面的代码有效,但我不希望js每次都调用处理程序。

<script>        
$(function () {
        $("#TextBox3").autocomplete({
            source: "./Handler.ashx",
            minLength: 3,
            select: function (event, ui) {
                $(this).val(ui.item.value);
            }
        });
    });

</script>

2 个答案:

答案 0 :(得分:2)

尝试这样的事情:

<script>   

$(function () {
        $.getJSON("./Handler.ashx", function(data) {
            $("#TextBox3").autocomplete({
                source: data
            });
        });           
    });
</script>

答案 1 :(得分:0)

AJAX调用是异步的,因此您尝试在数据到达之前使用它。使用回调函数中的数据:

$(function () {
  $.getJSON("./Handler.ashx", function(data) {
    $("#TextBox3").autocomplete({
      source: data
    });
  });
});