我无法在页面上使用自动完成功能,这很麻烦。当我在搜索输入中输入2个字符(“
OW”)时,我得到了预加载器图像(如下所示),但是它从未消失,也从未获得自动完成弹出窗口。查看Chrome中的控制台显示:
Uncaught TypeError: Cannot use 'in' operator to search for '62' in [{"value":103,"label":"FLOWER"},{"value":105,"label":"YELLOW"}]
这是返回的实际字符串(通过在成功块中添加alert(data)进行确认):
[{"kwrdID":103,"kwrdKeyWord":"FLOWER"},{"kwrdID":105,"kwrdKeyWord":"YELLOW"}]
这是自动完成的主要代码
$("#searchInput").autocomplete({
source: function (request, response) {
$.ajax({
url: '@Url.Action("GetKeywords", "Home")',
dataType: "json",
data: {
SearchTerm: request.term
},
success: function (data) {
response($.map(data.keywords, function (item) {
return {
label: item.kwrdKeyWord,
value: item.kwrdID
}
}));
}
});
},
minLength: 2
});
最后,这是预加载器(以防万一有关联)。
$(document).ajaxStart(function () {
var position = $('#divParent').position();
position.left += (($('#divParent').width() / 2) - ($('#preloader').width() / 2));
position.top += (($('#divParent').height() / 2) - ($('#preloader').height() / 2));
$('#preloader').css(position).show();
$('#preloader').show();
}).ajaxStop(function () {
$('#preloader').hide();
});
有人可以帮忙解释一下发生了什么吗?
这是一条漫长的路,但是经过许多小时的试验,我想到了以下代码:
$("#searchInput").autocomplete({
source: function (request, response) {
$.ajax({
url: '@Url.Action("GetKeywords", "Home")',
dataType: "json",
data: {
SearchTerm: request.term
},
success: function (data) {
var parsed = JSON.parse(data);
var newArray = new Array(parsed.length);
var i = 0;
parsed.forEach(function (entry) {
var newObject = {
label: entry.kwrdKeyWord
};
newArray[i] = newObject;
i++;
});
response(newArray);
},
error: function (message) {
response([]);
}
});
},
minLength: 2
});
这似乎工作正常。事实是我的关键字是唯一的,因此无论如何我都可以不用ID。
问题内容: 我试图通过ajax发送Get请求,并输出html服务器返回的json数据。 但是,我得到了这个错误。 这是我的代码,它通过ajax将Get请求发送到php文件。当我使用$ .each方法时,它会收到上面显示的错误。 这是我的PHP代码,以json格式返回查询结果。 这个PHP输出的JSON数据是这样的。 有人知道如何解决此问题吗? 请帮帮我。提前致谢 :) 问题答案: 您有一个JSON
问题内容: 这是主模板的控制器: 这是指令: 这是在主模板中应用指令的方式: 这是从指令模板(website-overview.html)调用的方法: 问题:单击“编辑”时,此错误出现在控制台中: TypeError:无法使用“ in”运算符在1中搜索“ editWebsite” 有人知道这里发生了什么吗? 问题答案: 由于您定义了表达式绑定(),因此如果要在HTML中将其绑定为,则需要使用JSO
问题内容: 我有一个相当简单的Angular应用程序,可以在我的开发机上正常运行,但是在部署它后却出现此错误消息(在浏览器控制台中)失败: 除此之外,没有其他消息。页面首次加载时会发生这种情况。 我正在运行ASP.NET MVC5,Angular 1.2RC3,并通过git推送到Azure。 谷歌搜索还没有发现任何有趣的东西。 有什么建议? 编辑: 我正在使用TypeScript,并用该变量定义依
问题内容: 从数据库取回数据时遇到问题。我正在尽力解释这个问题。 1.如果在下面的代码中保留“ mode”:“ no- cors”,则可以使用Postman从服务器获取数据,而不能使用自己的服务器获取数据。认为这一定是我的客户端错误 当我删除“ mode”:“ no-cors”时,我得到2个错误:-Fetch API无法加载http:// localhost:3000 /。飞行前响应中的Acces
问题内容: 我发现Oleg提供了一个非常不错的演示(http://www.ok-soft- gmbh.com/jqGrid/FillToolbarSearchFilter.htm),该演示显示了“使用本地数据自动完成的jqGrid工具栏搜索”,但是很难使它起作用通过ajax获取json 即使我在加载后强制将网格置于本地,也有充分的理由为什么自动完成功能不起作用? 问题答案: 如果使用jQuery