php include vs jquery load

时间:2013-10-01 07:31:11

标签: php jquery

我有一个简单的网站,包含标题,左侧菜单和主要内容 我已经使用一个静态页面(index.php)创建了它,然后使用jquery通过单击菜单项来更改主要内容:

$('#divR').load('chapters/abc.php');

我被告知某个地方我应该改变这种安排(没有解释 - 为什么)为每个主要内容使用单独的页面,然后使用php include在每个页面上包含标题和左侧菜单。

有人可以帮助解决这个难题吗?

2 个答案:

答案 0 :(得分:3)

加载ajax或在php中包含页面都可以。但是,要显示新的包含页面,您需要刷新整页。如果您使用jquery请求页面,它将加载异步,而不刷新页面。

请记住,您必须选择最适合的选项来增强用户体验。我从不使用ajax来加载整页,因为有传言称谷歌没有索引这些异步链接。然而有些人说google bot是一种功能齐全的浏览器,不会跳过ajax调用。我不知道,所以我通过整页刷新,访问其他网址,保存并加载重要的“主要”内容。这也将使浏览器返回和下一个(历史)按钮工作。它不会与ajax调用,因为它们是异步的。

例如,我使用ajax为我的图片库加载新的缩略图,或者使用新条目(重新)填充表格,或显示用户消息,或更新一些变量,......

答案 1 :(得分:1)

我现在经常使用<?php include "file.html"; ?>,因为它比jQuery .load有一些优势。

我在网站上有很多其他脚本,不知何故,如果我使用.load,与这个内容交互的jQuery不起作用,因为我认为它是后来加载的。即使它位于<head>但您不使用$(document).ready(function() { CODE });,它应该首先加载...

但是如果您使用<?php include "file.html"; ?>,则会在加载jQuery之前加载内容,以便javascript可以与此文件中加载的内容进行交互。

我不知道如何解释,但至少它并不适合我,可能是因为php是服务器语言。