通过PHP和AJAX加载页面

时间:2016-06-21 16:25:22

标签: javascript php ajax user-experience

在我的动态网站中,我首先将string xml = File.ReadAllText(@"C:\myxml.xml"); Regex.Replace(xml, @"[^\u0000-\u007F]", string.Empty); var doc = XDocument.Parse(xml); var matchingElements = doc.Descendants().Where(x => x.Name.LocalName == "chNFe"); string chave = matchingElements.First().Value; Console.WriteLine("Chave: " + chave); 页面加载为index.html,然后通过document structurePHP server发送一些请求,并将数据插入到页面中。这比仅通过PHP(ajax)加载所有内容更好吗?哪种方法更快?

谢谢!

4 个答案:

答案 0 :(得分:3)

除非你有充分的理由不这样做,否则加载index.php可能更聪明。这样,只对服务器进行一次调用,并处理将数据放在一起。另一方面,您为索引页面调用服务器,然后再调用数据,然后让客户端将数据放在一起。这样做并不一定是错的,但在大多数情况下它可能是错误的选择。

答案 1 :(得分:2)

这是我的理解:

index.html

步骤1:服务器向客户端发送html页面 第2步:向服务器发出AJAX请求 第3步:服务器处理数据 第4步:服务器响应客户端 第5步:客户端JavaScript根据响应更改页面

index.php

步骤1:服务器处理PHP并发送html页面 第2步:????? 第3步:获利。

编辑: 这假设必须以任一方式执行相同数量的PHP代码。查看Ravi Dasari's答案以获得更好的说明。

答案 2 :(得分:2)

首先设置期望值都是最终的HTML代码,这些代码将出现在浏览器中进行渲染。所以这一切都取决于您需要获取的数据量以及获取它以显示此页面所需的时间。

方法1:加载index.php 加载时间根据您要在此处显示的数据类型而有所不同。

  1. 如果你有一些数据库操作并且每个用户都有所不同,那么这个php页面需要一段时间才能获得所有信息并将其提供给浏览器。
  2. 如果您没有任何特定于用户的数据库操作或渲染,那么您可以继续使用.php方法,因为您的服务器将生成此HTML一次并对其进行缓存。所以你可以获得更好的加载时间。
  3. 如果PHP-> HTML速度很快,这种方法的HTTP请求数量会减少,因此加载速度会更快。
  4. 方法2:加载index.html 您的当前加载方法在页面加载方面非常快,但用户仍需要等待完整内容。但至少他看到了第一个登陆内容,并看到一些微调器,并将等待内容。

    想象一下,如果它是.php并且加载用户特定的内容很慢,那么用户可能不会等到页面加载并且他不喜欢它。

    因此这两种方法都适用于不同的情况。

    另外,您应该在其他方面优化页面加载时间。您可能想要检查从页面到服务器的HTTP请求总数。您可以在以下博客中查看更多详细信息。 How to improve you page load time

答案 3 :(得分:1)

基本上在加载页面上使用ajax方法进行数据处理在不同情况下如果我们关心速度可能有好有坏,那么我们应该在第一个服务器请求上填充数据,因为如果我们向服务器发送请求多个时间挑衅会影响带宽。但是如果我们在页面上使用任何类型的列表,那么我们也可以在具有ajax请求的正常结构化html页面中使用数据表来从服务器获取记录。这是使用ajax方法的另一个好处,如果我们必须为相同的列表或数据制作REST api,那么相同的操作将在这里像api一样工作。这就是为什么这些ajax调用在趋势z中。