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 に答える