Ajax Live Search问题

时间:2015-06-29 22:30:11

标签: javascript php jquery ajax

所以基本上已经多次询问了这个问题,但我无法找到满足我需求的答案。基本上我发现了许多带有example.com/ajax/search?query=Thing

等链接的网址

我在工作中有一些标题,我目前使用的是W3schools XML版本,但它根本不符合我的需求,因为我需要它来基本搜索IMDB,无论用户输入什么,一旦他们输入例如'然后,辛普森一家将使用名称弹出所有搜索结果,它是IMDB链接的可点击链接,例如http://www.imdb.com/title/tt0096697/,但随后将该网址中的imdb.com替换为我的网站网址(以使其在方式)。

但我需要它以某种方式使用AJAX / jQuery,以便它在IMDB上搜索,因此使用这种XML文件方法不会起作用。

带有/ ajax / search的网站如何进行这种类型的IMDB搜索,最近在托管网站上使用了很多。

这是我从Live search with PHP AJAX and XML

获取当前搜索代码的地方

但正如我所说,它需要与Ajax一起运行,进行实时搜索,基本上以某种方式搜索/搜索IMDB,然后将imdb.com更改为mysite.com

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

这是HTML:

<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>

但它似乎仍然无法正常工作

2 个答案:

答案 0 :(得分:0)

你可以检查一下。 https://twitter.github.io/typeahead.js/ 问题将得到解决

答案 1 :(得分:0)

至于IMDB的搜索你将不得不使用类似php curl扩展的东西从网站获取内容并用html解析器库解析它们。

对于实时搜索,您可以使用此pushState()函数更改javascript中的URL,如下面的答案:Changing the url with javascript。然后你可以使用一些jQuery来更容易地向你的OWN服务器发送ajax get请求,其中php脚本将处理对IMDB的请求(涉及的内容

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

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

该过程类似于下图:

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