将来自2个AJAX调用的数据合并到一个数组中


Combine data from 2 AJAX calls into one array?

数组应用作此搜索框的自动完成建议:

<input type="text" class="searchbox" placeholder="Type here...">

我试图组合AJAX调用,但我得到了以下错误:

Cannot read property 'slice' of undefined

Cannot read property 'length' of undefined

如果你对如何正确构建这个有什么想法,请告诉我。

你开始朝着正确的方向前进——你需要一个两个AJAX调用都可以访问的数组,但你修改数组的错误——你需要添加新元素,而不是重新分配整个数组,例如:

$.map(list, function(v,i) {
    results.push({
        label: v.Title + ' (' + v.Year + ')',
        value: v.Title
    });
});

另一个错误是在获取数据之前初始化自动完成插件——首先准备数组,然后在所有异步任务(AJAX调用是异步任务)完成后初始化自动完成会更有意义。请参阅此示例:多个ajax调用等待最后一个调用加载,然后执行