如何使用jquery实现“相关问题”功能

时间:2010-08-31 07:54:04

标签: javascript jquery html ajax

使用Stack Overflow的“提问”功能,当我输入我要问的问题标题时,标题下面的区域会打开并显示“相关问题”列表。

如何使用jquery / JavaScript实现它?是否有我可以使用的插件或开源代码?

我正在使用Django和Solr建立一个网站(用于全文搜索)。理想情况下,该解决方案可以很好地与这两种技术配合使用。

1 个答案:

答案 0 :(得分:1)

如何匹配问题had been asked already

你应该如何在AJAX中实现它的答案如下:

首先,实现一个可以使用JavaScript查询的Web服务,它接受一个问题标题并返回一些似乎相关的问题列表。假设服务位于http://example.com/queryRelatedQuestions,并以下列形式返回JSON对象:

{
    "How to find the average speed of an African sparrow": "http://example.com/questions/1",
    "Speed of European sparrows diminishing, help ASAP": "http://example.com/questions/2"
}

其次,当用户输入问题标题(blur文本输入事件)时,查询服务如下:

$.post('http://example.com/queryRelatedQuestions', {
        query: $('#title-text').val()
    },
    function(data){
        var result = ['<ul>'];
        $.each(data, function(title, url) {
            result.push('<li><a href="');
            result.push(url);
            result.push('">');
            result.push(title);
            result.push('</a></li>');
        });
        result.push('</ul>')
        $('#relatedQuestions').html(result.join(''));
    }
);