在线词典 - 我应该在搜索结果中使用AJAX吗?

时间:2009-11-11 11:34:38

标签: php ajax

我正在制作在线词典。现在我有两个选择:

1)使用AJAX检索结果 2)只需使用一些常规的PHP脚本

如果我选择第一个选项,则更有可能在线词典会有一个页面并且速度很快。如果我选择第二个选项,我会有更多页面(每个条目的单独页面都有自己的URL),但速度较慢。就个人而言,我喜欢第二个选项,不喜欢页面上的AJAX。

你有什么看法?缺点和优点(针对这种情况)?

谢谢。

2 个答案:

答案 0 :(得分:3)

如果您使用第二个解决方案(即多个网址,每页/每个网址一个),您的用户将能够为每个特定网页添加网址,并使用这些网址返回您的网站或链接到它,或将它们发送给其他人,或任何他们想要的东西 - 这很好。

如果您的整个网站只有一个且只有一个页面,则人们无法链接到特定页面/定义;他们无法回到一个特定的词;这很糟糕: - (

搜索引擎相同,btw (即使对搜索结果不重要):如果他们只看到一个页面,他们就不会很好地索引你的内容......而你可能想要你的网站索引。

因此,在您的情况下,我可能会使用几个不同的URL (当然,相应的页面都是由相同的PHP脚本生成的)
对于搜索结果同样如此:你可能想让人们能够链接到搜索结果,不是吗?


关于“速度”的事情:好吧,使用Ajax,您将向服务器发送一个请求。没有Ajax,你仍然会发送一个请求(对于更大的页面,我承认),以及图像,CSS,JS等所有请求。

您应该阅读一些关于前端优化的信息(例如,参见雅虎的Exceptional Performance页面);对此有很大的帮助; - )

答案 1 :(得分:0)

您可以使用htaccess(假设您在Linux服务器上)为每个页面提供唯一的URL,从而保留一个页面以显示内容。

例如:

http://yourdomain.com/s/sausage would point to http://yourdomain.com/page.php?id=426

然后它将从数据库中拉出并显示第426个结果,这将是香肠,欢呼。您可能想为此构建一个htaccess生成器,或者使用slugs系统并使用正则表达式

htaccess看起来像这样:

$http://yourdomain.com/s/([^/]+)^ $http://yourdomain.com/page.php?slug=$1

这会将http://yourdomain.com/s/之后的任何内容发送到page.php作为slug变量,然后引用你的数据库中的那个slug。

不确定这是否有用。