首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用XML代替JSON的模糊搜索(fuse.js)

使用XML代替JSON的模糊搜索(fuse.js)
EN

Stack Overflow用户
提问于 2013-10-25 13:56:41
回答 1查看 1K关注 0票数 0

是否可以像fuse.js一样使用而不是JSON?现在,我只有一个带有数据的XML文档,并且希望我不应该为JSON制作一个新版本。

希望有人能帮我找出我该往哪个方向走。

你好,尼尔斯

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-28 19:35:40

我自己找到了解决办法。这里不是将JSON放在http://kiro.me/projects/fuse.html上的示例,而是使用XML调用的版本:)

代码语言:javascript
复制
$(function() {

function start(books) {
var $inputSearch = $('#hero-search'),
    $results = $('#results ul'),
    $authorCheckbox = $('#value'),
    $titleCheckbox = $('#typeId'),
    $caseCheckbox = $('#case'),

    searchAuthors = true,
    searchTitles = false,
    isCaseSensitive = false,

    fuse;

function search() {

  $results.empty();
  $.each(r, function(i, val) {
        $resultShops.append('<li class="result-item"><a href="' + this.url + '" target="_blank"><span><img src="' + this.statusId + '" /></span> ' + this.value + '</a></li>');
  });
}

function createFuse() {
  var keys = [];
  if (searchAuthors) {
    keys.push('value');
  }
  if (searchTitles) {
    keys.push('typeId');
  }
  fuse = new Fuse(books, {
    keys: keys,
    caseSensitive: isCaseSensitive
  });
}

$inputSearch.on('keyup', search);

createFuse();
}



$.ajax({
type: 'GET',
dataType: 'xml',
url: 'xml-document/document.xml',
success: function(response) {
    var suggestions = [];                   
    $(response).find("searchResults").children().each(function(i, elm) {                            
        var name = $(elm).find('name').text();
        var url = $(elm).find('url').text();
        var description = $(elm).find('description').text();
        var statusId = $(elm).find('status').text();
        var typeId = $(elm).find('type').text();

        var result = {};
        result.value = name;
        result.url = url;
        result.description = description;
        result.statusId = statusId;
        result.typeId = typeId;

        suggestions.push(result);
    });
    start(suggestions);
},
error: function(response) {
    console.log('failure',response);
}
});
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19591837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档