2009-10-17 58 views
3

我正在创建一个使用“模块”构建的网页,换句话说,该网页使用其他php文件放在一起。Php包括使用ajax

在我的页面的一侧有一个div容器,它旁边有一些链接,这个div容器将被用来保存某些信息。信息保存在单独的php文件中,我不会用前面提到的链接加载到div容器中。

我会如何去做这个与Ajax?

注意:我使用include(“”)加载php文件;

+0

你使用的是像jQuery/prototype/mootools这样的JavaScript库吗? – robjmills 2009-10-17 13:42:41

+0

我没有使用任何,对于我正在构建的站点,我只需要ajax来查询数据库并重新加载页面上的信息。所以我认为最好是使用我自己的代码而不是库,对吗? – Stanni 2009-10-17 13:46:40

回答

8

AJAX不能代替你的PHP include小号除非你想有一个特别的原因要做到这一点(例如,页面加载性能差,你想要加载一些部分异步到页面的其余部分)。

我会继续使用PHP包含,但如果您希望在第一次加载后动态更新这些页面部分,则可以使用Prototype's Ajax Updater

请记住,这不像服务器端包括;您更新的页面部分(如果它们是PHP脚本的话)将无法访问页面其余部分设置的变量;您需要将这些数据作为GET或POST数据提供给异步请求。

0

什么它的价值,这是你将如何更新使用prototype的物品ID的DIV:

new Ajax.Updater('items', '/your_remote_script.php'); 
2

AJAX - 在这里我们谈论的Javascript参与。所以我将使用jQuery这里

的index.php:

<?php 

// your main file 
echo '<div id="module">Please wait while loading...</div>'; 
echo '<script type="text/javascript" src="jquery-1.3.2.js"></script>'; 
echo '<script type="text/javsacript">/* <![CDATA[ */'; 
echo '$(window).ready(function(){ 
     $("#module").load("module.php"); 
     });'; 
echo '/* ]]> */</script>'; 

?> 

module.php:

<?php 

echo 'Today is '.gmdate('l'); 

?>