2011-10-12 69 views
1

当我越来越多地了解JQuery & PHP请求时,发生了一些事情。JQuery和PHP请求。什么更有效率?

我设计了一个网页,其中包含一些空的DIV,这些DIV在加载此页面期间和之后由Ajax调用填充。到目前为止,为了加载这个页面,我总共使用JQuery/Ajax调用8个(.get())调用到php页面,获取结果并填充这个div。

  1. 在初始网页加载,它是明智的:

A.使8 Ajax调用8个不同的PHP页面或... B.使1 Ajax调用1个PHP页面同时生成以前8个的内容?

  1. 我决定使用Ajax这样,一旦页面加载,每个用户未来作用是通过Ajax调用制成,不会要求所有我认为会节省大量的这些原始呼叫再次作出的服务器资源等。

你们能给出一些关于轻量级和高效开发指南的指导吗?

回答

2

你应该尽量减少你的AJAX调用页面加载。在一个完美的世界中,唯一的AJAX调用是由于用户在文档加载后进行的交互。这意味着您应该以一种组装和显示整个页面内容的方式编写后端代码。

请注意,将AJAX网站向后兼容是一个不错的主意。东西在你的PHP,如:

define('IS_AJAX', isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'); 

if(!IS_AJAX) { require_once("header.php"); } 
echo "this is ajax content"; 
if(!IS_AJAX) { require_once("footerer.php"); } 

这将检测它是否是一个Ajax请求,如果没有显示正常操作的页眉和页脚。

+0

因此,“页面加载时的0个AJAX请求”比“页面加载时的1个AJAX请求”要好于“加载页面时的8个AJAX请求”。对? –

+0

正确!同样的逻辑适用于样式表,JavaScript文件等等。请求越多,网站的响应就越少。总是有例外,并且使用AJAX,至少网站的其余部分将呈现。一个可接受的应用程序可能是一个数据密集型站点查询,会降低整个站点的速度 - 将其放入ajax请求会使站点在加载时看起来更快。 –

+0

不依赖于这些头,他们不能保证http://stackoverflow.com/questions/1393904/ajax-only-access/1393923#1393923 – robjmills

相关问题