gpt4 book ai didi

javascript - JQuery 自动完成与 JSON 结果不起作用

转载 作者:行者123 更新时间:2023-12-03 08:11:10 25 4
gpt4 key购买 nike

我正在使用 JQuery 自动完成功能来显示可用类(class)的列表。我正在写一篇文章,从服务器获取类(class)列表,我将数据处理为预期的格式,然后将其传递给自动完成功能。问题是,除非我硬复制并粘贴值 newSource 并将它们粘贴到源中,否则它不起作用。变量 newSource = ["Enc1001","ENC1002","Enc1003","ENC1101"....等]。ajax post从服务器获取数据

//Auto complete for search box
$('#AdditionalSearch').on('input', function () {
var source = [];
var inputValue = $('#AdditionalSearch').val();
if (inputValue !== '') { //the value is not empty, we'll do a post to get the data.
url = "/Course/CourseSearch";
$.ajax({
method: 'POST',
dataType: 'json',
contentType: 'application/json',
cache: false,
data: JSON.stringify({ "searchCourseValue": inputValue }),
url: url,
success: function (data) {
if (data.Ok) {
var myData = JSON.parse(data.data);
var newSource = '[';
$.each(myData.ResultValue, function (index, item) {

if ((myData.ResultValue.length -1) == index)
newSource += '"' + item.Name+'"';
else
newSource += '"'+ item.Name + '",';
});
newSource += "]";
console.log(newSource);
source = newSource;
}
setNameAutoComplete(source);
},
error: function (jqXHR) {
console.log(error);
}
});

} else { //The user either delete all the input or there is nothing in the search box.
//The value is empty, so clear the listbox.
setNameAutoComplete(source);
}
});

//将源代码传递给自动完成功能

var setNameAutoComplete = function (data) {
console.log(data);
$('#AdditionalSearch').autocomplete({
source: data
});
}

我在这里缺少什么吗?

最佳答案

当您在代码中实际粘贴 newSource = ["Enc1001","ENC1002","Enc1003","ENC1101"....etc] 时,您正在构建一个数组对象。但是,在您的 success 方法中,您正在构建一个字符串(同一对象的字符串表示形式)。您想要做的是构建一个实际的数组。

        ...
success: function (data) {
if (data.Ok) {
var myData = JSON.parse(data.data);
var newSource = [];
$.each(myData.ResultValue, function (index, item) {
newSource.push(item.Name);
});
console.log(newSource);
source = newSource;
}
setNameAutoComplete(source);
},
...

关于javascript - JQuery 自动完成与 JSON 结果不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34140135/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com