2010-02-26 143 views
0

在过去我注意到,在许多网站中,当您键入具有不同参数的链接时,会发生其他情况(例如Google)。我想将其实施到我的网站,但我不知道如何。我想为搜索功能做到这一点。假设我的网站是test.com。链接test.com/find+item将在网站上搜索“查找项目”术语。我为该网站使用了JQuery和JSON。此外,搜索框是'input#suggestBox'元素和$('input#suggestBox').jsonSuggest(bookData.webSites, {onSelect:callback});调用的搜索。通过访问链接调用函数

回答

1

你指的是很密切的关系的RESTfulness概念的技术。 nickf关于使用Apache的mod_rewrite的建议是可靠的,但如果你想真正沉迷于URL驱动的Web应用程序方法,我强烈建议研究REST。

4

许多网站,即使是这个网站,都使用称为URL重写的技术。它基本上采用URL并将其重新排列为脚本可以理解的格式。

例如,您可能会设置一条规则,以便将URL http://example.com/search/foo重写为http://example.com/search.php?query=foo

如果您使用的是Apache,有一个叫mod_rewrite模块,为您处理此。你可以在Apache documentation pageexcellent question and answer from Owen找到更多关于它的信息。

0

我不会建议使用AJAX方法用于获取关于你的网站的搜索结果。

原因是,如果您有人想要在您的网站上针对特定查询采用搜索结果,那么他们无法真正采取该链接并将其发布到某处,并且会降低入站的可能性链接到您的网站。

相反,你应该用一个简单的形式,它有一个文本字段,但使用GET行动,那么这将发布形式的值的查询字符串。

然后,在服务器端,处理请求,就像您对其他任何动态请求到该网址。

当然,你如何做到这一点你使用的后端技术完全依赖。关键是,这与jQuery没什么关系,因为它正确地构建网站上的URL以提供功能和可发现性。

+0

虽然我普遍同意你的看法,但我不同意这些查询的非书签性。您仍然可以即时更改网址的哈希部分,这些哈希部分可以加书签,通过电子邮件发送等。示例:Gmail。 – 2010-02-26 04:58:45

+0

@Marcel Korpel:我同意,这一切都取决于链接被海报使用的方式。如果发布者仅使用链接进行ajax调用来检索结果,那么该链接和结果集不会暴露给用户。这可以防止发现。如果海报正要使用jQuery来制作一个链接,然后将其用作重定向,那么使用FORM元素和GET动作完全符合他的要求,并且他也具有可发现性。 – casperOne 2010-02-26 06:22:19