Javascript 将来自2个AJAX调用的数据合并到一个数组中?
该数组应用作此搜索框的自动完成建议:Javascript 将来自2个AJAX调用的数据合并到一个数组中?,javascript,php,jquery,arrays,ajax,Javascript,Php,Jquery,Arrays,Ajax,该数组应用作此搜索框的自动完成建议: <input type="text" class="searchbox" placeholder="Type here..."> 我尝试组合AJAX调用,但出现以下错误: 无法读取未定义的属性“slice” 无法读取未定义的属性“length” 如果你有一个如何正确的结构这个想法,请让我知道 您开始朝着正确的方向前进–您需要一个两个AJAX调用都可以访问的数组,但您修改的数组是错误的–您需要添加新元素,而不是重新分配整个数组,例如: $.m
<input type="text" class="searchbox" placeholder="Type here...">
我尝试组合AJAX调用,但出现以下错误:
无法读取未定义的属性“slice”
无法读取未定义的属性“length”
如果你有一个如何正确的结构这个想法,请让我知道 您开始朝着正确的方向前进–您需要一个两个AJAX调用都可以访问的数组,但您修改的数组是错误的–您需要添加新元素,而不是重新分配整个数组,例如:
$.map(list, function(v,i) {
results.push({
label: v.Title + ' (' + v.Year + ')',
value: v.Title
});
});
另一个错误是在获取数据之前初始化autocomplete插件——首先准备数组,然后在完成所有异步任务(AJAX调用是异步任务)后初始化autocomplete更有意义。请参阅此示例:如果可以在php端处理这两个ajax调用,那么它们的条件是否相同?您是否希望它们按顺序进行?Ajax 1启动,然后一旦启动,Ajax 2启动?那么一个启动本地服务器,另一个启动远程api?正确吗?您不应该再使用“response”,它变得更简单:$(“.searchbox”).autocomplete({source:results});如果您检查url的where is request.term,并且代码中没有提到它-您需要用一些正确的单词或现有变量替换它。替换var结果;在顶部,var结果=[];所以数组被初始化-这应该会有帮助!