0

我正在使用下面的 js 函数

function view_city(val) {
    var val = document.getElementById("city").value;

    $(document).ready(function() {
        var availableTags1 = [];
        $.ajax({
            url: "res.php?key=" + val,
            success: function(result1) {
                var result1 = result1;
                var availableTags1 = result1.split("|");

                $("#city").autocomplete({
                    source: availableTags1
                });
            }
        });
        alert(availableTags1);
    });

这里我不需要警告框,如果我删除了警告框,功能将无法正常工作,请帮助我这是什么原因?

4

2 回答 2

1

听起来你在某处有竞争条件,Alertboxes 将锁定线程,让 ajax 调用有时间完成,因为它是在你的主线程之外处理的。我会看看您是否在 ajax 回调之外的任何地方调用数据,或者在它实际可用于回调之前取决于该数据。

它可能在您发布的代码之外。

此外,其中一些代码看起来是周期性的,当您发出 ajax 请求时,为什么在页面加载时期望城市中的值不是“”?

于 2012-09-25T19:28:28.540 回答
0

尝试替换alert(availableTags1);return;.

于 2012-09-25T18:36:38.787 回答