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

发布于 2025-01-05 21:14:42 字数 727 浏览 0 评论 0原文

我是一名业余程序员,所以请对我宽容一些。我试图仅调用 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>

I'm an amateur programmer so go easy on me. I am trying to call getJson only once to pull an array, then have jquery autocomplete use that as a source. It seems like this code is never calling the handler.

<script>   

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

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

the code below works but I do not want js to call the handler every time .

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

</script>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

无可置疑 2025-01-12 21:14:42

尝试这样的事情:

<script>   

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

Try something like this:

<script>   

$(function () {
        $.getJSON("./Handler.ashx", function(data) {
            $("#TextBox3").autocomplete({
                source: data
            });
        });           
    });
</script>
浅笑轻吟梦一曲 2025-01-12 21:14:42

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

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

The AJAX call is asynchronous, so you are trying to use the data before it arrives. Use the data inside the callback function:

$(function () {
  $.getJSON("./Handler.ashx", function(data) {
    $("#TextBox3").autocomplete({
      source: data
    });
  });
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文