我正在尝试使用datalake api配置搜索栏工作,但是一些如何使用bloodhound不能正常工作。我得到的最新错误是“无法读取未定义的属性'_id'”。这是我的代码:
var claritySearch = new Bloodhound({
queryTokenizer: Bloodhound.tokenizers.whitespace,
sufficient: 1,
sorter: function(a, b) {
},
datumTokenizer: function(datum) {
var tokens = [
trimPRJ(datum._id),
trimPrjAndZeros(datum._id),
datum.wbsElement
];
return tokens;
},
prefetch: {
url: _dataLake.environment+'/CLARITY_SEARCH/projects/items?',
cacheKey: "claritysearch",
ttl: 14400000,
prepare: function(settings){
settings.beforeSend = function(jqXHR, settings){
settings.xhrFields = {withCredentials: true};
};
settings.url = settings.url.replace();
return settings;
},
transform: function(response) {
return response.data;
}
},
remote: {
url: _dataLake.environment+'/CLARITY_SEARCH/projects/items?',
prepare: function(query, settings)
settings.beforeSend = function(jqXHR, settings) {
settings.xhrFields = { withCredentials: true };
};
settings.url = settings.url.replace('%QUERY', query),
console.dir(settings);
return settings;
},
transform: function(response) {
return response.data;
}
}
});