请先看下面的例子,哪一个更好?
你能比较一些方面,比如性能,编程,设计,负载,用户体验,维护,安全性或我没想到的任何其他方面。
这些方面可以帮我决定哪一个更好吗?
<script>
$(document).ready
(
function()
{
var message={..something..};
$.ajax
(
{
url:'get_content.php',
data:message,
type:'post',
cache:false,
success:function(data)
{
foreach(data.array)
{
$('#content').append($('<tr><td>'+data.array[key]+'</td></tr>'));
}
},
error:function(){alert('error');}
}
);
}
);
</script>
<table id="content">
</table>
<table id="content">
<?php
query sql;
while(row=fetch result)
{
echo '<tr><td>'+row[field]+'</td></tr>';
}
?>
</table>
答案 0 :(得分:5)
您将苹果与橙子进行比较。
AJAX是关于您在没有完整页面刷新的情况下代表客户端从服务器获取数据的唯一(合理)方法。但是,您可以使用各种不同语言的服务器端来呈现AJAX继续所需的数据。 (ASP,PHP,...)。
这取决于您和您网站的其他内容是如何开发的。如果您想要一种绝对(无失败)的方法来生成内容,那么PHP转储是最好的方法。它保证可见并且不会因客户端支持而中断(可能它们有NoScript插件?)。
但是,如果有大量数据,有时最好将负载分散到多个调用上,以便客户端至少可以看到页面的半完整部分,并且数据会在稍后出现。 (这通常是Facebook如何进行的 - 它们会在一秒钟内为您提供总体布局,然后在框架完成后会显示其余内容。)
但有一点需要注意的是,这不是一种或两种决定。您可以使用带有PHP后备的AJAX,您只需要有代码来测试客户端并将该信息转发回服务器以做出明智的决定。
答案 1 :(得分:3)
就个人而言,我会选择PHP。用户永远不会注意到延迟需要花费很少的时间,而使用AJAX则需要完整的单独请求。
AJAX适用于在加载页面后获取数据。我不认为它应该用于获取应该首先存在的数据。