我正在使用以下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);
});
这里我没有要求提示框,如果我删除了提醒框,该功能将无法正常工作,请帮帮我是什么原因?
答案 0 :(得分:1)
听起来你某处有竞争条件,Alertboxes会锁定线程,给ajax调用时间,因为它是在主线程旁边处理完成的。我想看看你是否在ajax回调之外的任何地方调用数据,或者在实际可用于回调之前依赖于那些数据。
它可能超出了您发布的代码。
此代码中的一些看起来是周期性的,当您提出ajax请求时,为什么在页面加载时除了“”之外还期望城市中的值?
答案 1 :(得分:0)
尝试将alert(availableTags1);
替换为return;
。