2012-09-25 27 views
0

我用下面的js函數刪除alertbox

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); 
    }); 

在這裏,我並不需要警告框,如果我刪除了警告框的功能將無法正常工作,請幫我什麼原因嗎?

回答

0

嘗試用return;替換alert(availableTags1);

1

聽起來就像你在某處有競態條件一樣,Alertboxes會鎖定線程,讓ajax調用完成時間,因爲它在主線程中被處理。我會考慮是否在ajax回調之外的任何地方調用數據,或者在實際可用於回調之前根據這些數據來調用數據。

它可能在您發佈的代碼之外。

此外,其中一些代碼看起來是週期性的,爲什麼你會期望一個城市的價值而不是「」在頁面加載時,當你發出你的ajax請求?