我对编码相当陌生,目前正在进行FCC上的Wikipedia查看器项目。我有两个回调函数依赖AJAX请求并使用相同的数据,一个用于在用户输入输入时提示搜索,另一个用于在输入时显示结果。如何从AJAX请求传递两个回调函数相同的变量?
对于建议:
function searchSuggest(data) {
$('.suggestions').empty();
var title = Array.from(data[1]);
var url = Array.from(data[3]);
var listLength = title.length;
for (var i = 0; i < listLength; i++) {
var listItem = `
<li>
<a href="${url[i]}" target="_blank">${title[i]}</a>
</li>
`;
$('.suggestions').append(listItem);
}
}
而对于结果:
function display(data) {
$('.results').empty();
$('.suggestions').empty();
var title = Array.from(data[1]);
var snippet = Array.from(data[2]);
var url = Array.from(data[3]);
var listLength = title.length;
for (var i = 0; i < listLength; i++) {
var result = `
<a href="${url[i]}" target="_blank">
<li>
<span>${title[i]}</span>
<p>${snippet[i]}</p>
</li>
</a>
`;
$('.results').append(result);
}
$('.results').addClass('show');
}
Ajax请求返回this
有没有一种方法来传递变量到两个功能,而无需重复自己?尝试创建一个对象变量来包含数组,但没有奏效。
Full code is on codepen here。
欢迎来到堆栈溢出!请不要发布文字图片。我们无法在线读取它们。 – catbadger