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结果=[];所以数组被初始化-这应该会有帮助!