2012-04-17 35 views
0

假设你有这样的事情 HTML文件:动态用ajax,php js和html填写页面?

<head></head> 
<body> 
    <div id="my_personal_div"> 
    </div> 
</body> 

JavaScript文件:

$.(document).ready(){ 
    $.ajax({ 
     url:/any_php.php, 
     ... 
     ... 
     if (msg){ 
     $("#my_personal_div").html(msg); 
     } 
    }); 

我any_php.php文件:

echo "<img src=any_image.jpg />" 

这样的想法是让动态div到一个html填充它与我创建的一些php内容,所以我可以一次性喂多个htmls与该div。这将是什么问题?任何弊端?任何巨大的安全问题?,任何更好的方式来获得完整的个人饲养,我的意思是,因为我可以在那里从php文件中获取图像,输入,文本,图像等任何我想要的东西。

回答

0

缺点是它会使多一个 http请求每一次,这需要时间...和资源。

所以这是一个很好的方法,如果你只需要改变页面上的内容而不用重新加载所有页面。

实现此目的的一个好方法是当用户想要更改页面而不是重新加载全部页面时,只需加载已更改的内容并使用浏览器上的推送状态表明它是新页面即可。例如,网站http://gizmodo.com/使用此。

安全性方面没有问题,就像加载一个新页面一样。

+0

我没有看到在您建议的网站中使用过多的方法。事实上,http://kotaku.com和http://www.devthought.com/都是很好的例子,它实际上对每个请求都使用AJAX。 当然,更不用说Google或Facebook了。 – 2012-04-17 19:35:20

+0

ajax加载内容和推送状态的例子:当你切换页面时,再次只是一个例子,它们存在多个! – 2012-04-17 20:28:53

+0

@MarcoGamba顺便说一下,Google和Facebook不使用任何jQuery。所以不是一个很好的例子,如果你看看这个问题;) – 2012-04-17 22:16:17

0

您必须确保请求(GET和POST)被您正在访问的php文件过滤。 如果您不这样做,任何人都可以通过修改请求来运行可能会损害您的网站的代码(如SQL注入)。 同样适用于任何其他的PHP脚本,所以它没有特别针对ajax。

无论如何,你想创建什么? 一个div随机显示每个访问的内容? 即使用户没有重新加载页面,它会在几秒钟后更改并显示其他内容吗?

如果你只是想随机显示一些内容,你可以做到这一点,而无需使用Ajax。 如果您只是想在div内显示一些文本,也一样。

使用ajax会导致更多的连接,这可能会给服务器带来更多压力,具体取决于您使用它的多少。