通过PHP或jQuery ajax动态创建HTML?哪种方法更快或更好?

通过PHP或jQuery ajax动态创建HTML?哪种方法更快或更好?,php,jquery,Php,Jquery,嗨,我只是想知道动态创建html的最佳实践是什么。我可以用两种方法来做 直接PHP <div id='id-here'> <?php $user->id = $_GET['id']; $user->displayUserInformation( ); ?> </div> 注意:这段代码不存在,纯粹是为了说明我的意思^^我也知道jQuery负载,但更喜欢使用jQuery ajax处理复杂的内容 谢谢

嗨,我只是想知道动态创建html的最佳实践是什么。我可以用两种方法来做

直接PHP

<div id='id-here'>
    <?php
        $user->id = $_GET['id'];
        $user->displayUserInformation( );
    ?>
</div>
注意:这段代码不存在,纯粹是为了说明我的意思^^我也知道jQuery负载,但更喜欢使用jQuery ajax处理复杂的内容


谢谢

我不担心哪个更快。。。这种差异可能可以忽略不计。但请记住,有些用户确实关闭了JavaScript。。。如果您想支持这些用户,那么在PHP中付出额外的努力是值得的


我的规则是,如果可以在服务器上完成,就在服务器上完成。然后,您可以完全确定所有用户的结果。

我不担心哪个更快。。。这种差异可能可以忽略不计。但请记住,有些用户确实关闭了JavaScript。。。如果您想支持这些用户,那么在PHP中付出额外的努力是值得的


我的规则是,如果可以在服务器上完成,就在服务器上完成。然后,您可以完全确定所有用户的结果。

PHP方法肯定更可靠,因为它不需要客户端中的javascript。对于在页面生命周期或用户会话期间不期望的信息,它也更有意义。我不认为用户的信息在页面浏览过程中会有那么大的变化


但是,如果有一些数据需要更改,比如post计数之类的,那么使用PHP设置初始值,然后使用ajax仅在值实际更改时更新它

PHP方法肯定更可靠,因为它不需要客户端中的javascript。对于在页面生命周期或用户会话期间不期望的信息,它也更有意义。我不认为用户的信息在页面浏览过程中会有那么大的变化


但是,如果有一些数据需要更改,比如post计数之类的,那么使用PHP设置初始值,然后使用ajax仅在值实际更改时更新它

在您的示例中,如果像这样显示用户信息,方法1将不需要像示例2那样从服务器获取另一个数据(总共2个HTTP请求,1个用于原始网页,1个用于ajax),因此速度更快

通常,在这样的页面内生成静态数据(在示例1中)不同于AJAX,AJAX向用户提供内容,并且只使用AJAX更新新数据,而不更新整个页面的内容


也许你的意思是:数据应该与原始网页一起提供,还是应该保留为空,然后使用AJAX获取数据以显示它。通常情况下,最好首先提供数据,而不是让用户等待再次访问服务器来查看数据。

在您的示例中,如果您这样显示用户信息,方法1将不需要像示例2那样从服务器获取另一个数据(总共2个HTTP请求,1个用于原始网页,1个用于ajax),所以速度更快

通常,在这样的页面内生成静态数据(在示例1中)不同于AJAX,AJAX向用户提供内容,并且只使用AJAX更新新数据,而不更新整个页面的内容


也许你的意思是:数据应该与原始网页一起提供,还是应该保留为空,然后使用AJAX获取数据以显示它。通常情况下,最好先提供数据,而不是让用户等待下一次到服务器查看数据。

u完全弄错了,第一个不是“动态创建的html”,用户发送了请求,PHP处理它,然后返回html,然后您的浏览器呈现它


第二个是您的浏览器已经加载了HTML,您尝试使用jquery模拟与第一个相同过程的另一个请求

您弄错了,第一个不是“动态创建的HTML”,用户发送了一个请求,PHP处理它,并返回HTML,然后您的浏览器呈现它


第二个是您的浏览器已经加载了HTML,并且您尝试使用jquery模拟与第一个相同流程的另一个请求,这在php文件中更快。这是更多的搜索引擎优化和“最佳实践”,而不是实际的用户体验。我在使用wordpress,我在php文件中工作。大部分是php,但我在文件中有四行html。都是一模一样的。我可以使用php循环浏览这四行,或者复制并粘贴这四行html。我不希望更改代码,因此php似乎没有任何其他好处

这是我的密码: HTML版本(大多数情况下很好)

“class=”括号“/>
“class=”括号“/>
“class=”括号“/>
“class=”括号“/>
或php:

 for($i=0;$i++;$i<4){ ?>    //start loop, 4x
   <img src="<?php echo get_bloginfo('template_directory').'/images/bracket.png';?>" />
   //Image path using php
 <?php }   ?>        // end loop
用于($i=0;$i++;$i//开始循环,4x)
" />
//使用php的图像路径
//端环

谢谢大家!

同样的道理,在php文件中速度更快。这更多是为了SEO和“最佳实践”"而不是实际的用户体验。我使用wordpress,我在php文件中工作。大部分都是php,但我在文件中有四行html。所有内容都完全相同。我可以使用php循环四行,或者复制并粘贴这四行html。我不希望更改代码,因此php似乎不会显示任何内容其他好处

这是我的密码: HTML版本(大多数情况下很好)

“class=”括号“/>
“class=”括号“/>
“class=”括号“/>
“class=”括号“/>
或php:

 for($i=0;$i++;$i<4){ ?>    //start loop, 4x
   <img src="<?php echo get_bloginfo('template_directory').'/images/bracket.png';?>" />
   //Image path using php
 <?php }   ?>        // end loop
用于($i=0;$i++;$i//开始循环,4x)
" />
//使用php的图像路径
//端环

谢谢大家!

我相信以静态加载方式从PHP加载会更好、更可靠。但是,从AJAX加载会一次性推送结果,而不是以静态加载方式
 for($i=0;$i++;$i<4){ ?>    //start loop, 4x
   <img src="<?php echo get_bloginfo('template_directory').'/images/bracket.png';?>" />
   //Image path using php
 <?php }   ?>        // end loop