首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ajax Live搜索问题

Ajax Live搜索问题
EN

Stack Overflow用户
提问于 2015-06-30 06:30:11
回答 2查看 304关注 0票数 0

基本上,这个问题已经被问了很多次了,但我找不到满足我需求的答案。基本上我已经找到了很多像example.com/ajax/search?query=Thing这样的urls链接

我有一个头在作品中,我目前使用IMDB XML版本,但它根本不适合我的需要,因为我需要它基本上搜索IMDB的任何用户输入,一旦他们输入例如‘辛普森一家’,它将弹出所有的搜索结果与名称和它是一个可点击的链接到IMDB链接例如http://www.imdb.com/title/tt0096697/,但然后替换为我的网址中的imdb.com与我的网站网址(以使它在某种程度上响应)。

但是我需要它以某种方式使用AJAX/jQuery,这样它就可以在IMDB上搜索,所以使用这种XML文件方法将不起作用。

使用/ajax/search的站点是如何执行这种类型的IMDB搜索的,这种类型的IMDB搜索最近在torrenting站点上经常使用。

这就是我当前搜索代码的来源:Live search with PHP AJAX and XML

但正如我所说的,它需要与Ajax一起运行,有实时搜索,基本上是在IMDB上进行抓取/搜索,然后将imdb.com更改为mysite.com

更新:我设法找到了类似这样的东西:http://pastebin.com/PAD5AXUK

这是HTML:

代码语言:javascript
复制
<div class="main-nav-links hidden-sm hidden-xs">
            <form method="GET" action="http://www.imdb.com/find" accept-charset="UTF-8" id="quick-search" name="quick-search">
                <div id="quick-search-container">
                    <input id="quick-search-input" name="query" autocomplete="off" value="Quick search" type="search">
                    <div style="background-position: -160px 0px;" class="ajax-spinner"></div>
                </div>
            </form>
            <ul class="nav-links">
                <li> <a href="https://example.com"> Home </a> 
                </li>
                <li> <a href="https://example.com/browse"> Browse </a> 
                </li>
            </ul>
            <ul class="nav-links nav-link-guest">
                <li> <a class="login-nav-btn" href="javascript:void(0)"> Login </a> &nbsp;|&nbsp; <a class="register-nav-btn" href="javascript:void(0)"> Register </a> 
                </li>
            </ul>
        </div>

但是它看起来仍然不起作用。

EN

回答 2

Stack Overflow用户

发布于 2015-06-30 06:37:59

你可以看看这个。https://twitter.github.io/typeahead.js/问题将得到解决

票数 0
EN

Stack Overflow用户

发布于 2015-06-30 06:38:15

至于IMDB的搜索,你必须使用php curl扩展来从网站获取内容,并使用html解析器库对其进行解析。

对于实时搜索,您可以使用这个pushState()函数更改javascript中的url,如下所示:Changing the url with javascript。然后,您可以使用一些jQuery来更容易地将ajax get请求发送到您自己的服务器,在服务器上php脚本将处理到IMDB的请求(涉及

$.get("/ajax?query=TMNT", function(data) { //handle the data in here } );

然后,在该回调函数中,您可以使用结果的内容更新页面。您甚至可以在本地执行一些处理,例如更改IMDB链接的url。

该过程类似于下图:

代码语言:javascript
复制
User Enters Query (TMNT) -> 
Ajax sends data to my own backend page (process.php) -> 
process.php scrapes IMDB search query and parses it with html parser -> 
outputs results which return to ajax function -> 
ajax callback function places results in a DOM element
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31126652

复制
相关文章

相似问题

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