php - 我应该使用 JSON 或 XML 或其他东西来每隔 X 时间获取页面内容吗?

标签 php javascript jquery xml json

index.php 有这个 jquery 代码,它每隔 X 秒将 notification.inc.php 加载到页面上的 div

<script type='text/javascript'> 
$(document).ready(function(){ 
     var updatenotification = function(){ 
          $('#notificationcontainer') 
               .load('notifications.inc.php') 
               .fadeIn("slow"); 
     }; 
     var auto_refresh = setInterval(function(){updatenotification();}, 5000); 
     updatenotification(); 
}); 
</script>

notifications.inc.php

<?PHP
if(notifications != 0){
?>
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="box1r">
<tr><td height="25">Notifications</td></tr><tr><td colspan="2" bgcolor="#FFFFFF" height="11">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<?PHP
if($item1 == 1){
    echo 'AN HTML TEXT LINK HERE';
else if($item2 == 1){
    echo 'AN HTML TEXT LINK HERE';
else if($item3 == 1){
    echo 'AN HTML TEXT LINK HERE';
else if($item4 == 1){
    echo 'AN HTML TEXT LINK HERE';
}
// ect. ect
?>
</table></td></tr></table>
<?PHP
}// end main block, only show the header "Notification" text if there is at least 1 notification ITEM to be shown
?>

现在这对我来说效果很好,可以显示用户何时收到新消息, 评论,照片评论,好友请求,主页上的类似内容。

我的网站流量相当高,我想改进各个方面的代码,(请保存预优化是邪恶的言论,我除了时间什么都没有,并且已经在这个网站上工作了 2 年,我想尽我所能)

所以我认为这可以做得更好?首先我知道我应该重新编码表格以使用 DIV,但现在我将在此特定页面上使用此表格设置。

那么为了节省带宽和性能,我应该使用 JSON 或其他东西,而不是每 10 秒左右加载另一个页面的内容吗?

如果我应该使用 JSON 或其他东西,请解释一下,我是 JS 新手,所以我不确定如何准确实现它

最佳答案

如果我没看错的话,您将在每次民意调查中发送完整的通知流。我认为更好的优化是只请求通知。您可以将每个通知的时间戳放在表行中的某处,然后请求 notifications.inc.php?since=1234567890。这将仅返回新的表行,您可以将它们插入表中,而不是替换整个内容。

JSON 将是下一步,是的;只需在服务器上创建一个对象,使用 existing library 对其进行编码,将其返回给客户端,然后让 jQuery 将其扩展为 Javascript 对象。如果您将所有内容都封装在库中,那么您实际上只是将数组+哈希结构从服务器移动到客户端。

关于php - 我应该使用 JSON 或 XML 或其他东西来每隔 X 时间获取页面内容吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1312961/

相关文章:

jquery - 在 Jquery 之前加载 Jquery UI

php - Python : extract . 将数据提交到具有机械化的表单后的 csv 结果

php - 有人可以解释一下这段代码吗?

javascript - DataTables 无法添加行

javascript - 使用 JavaScript 请求 HTML 页面(Angular 应用程序)

javascript - 在正则表达式文字中使用字符类中的/总是安全的吗?

javascript - 情感 - 将样式对象传递到外部库

php - Laravel 'whereNotIn' 查询难度

php - MySql PHP 插入与连接

php - 页面只显示一个结果是不是不能进行SQL注入(inject)?