哪种编程语言预先填充HTML div,基于日期?

时间:2014-07-20 07:06:06

标签: javascript php html

设计人员/开发人员使用哪种编程语言,根据事件发生的日期在网站上“预先填充”事件?

例如:假设您有一家餐馆,并且每天都有不同的“午餐特价”或其他东西。在网站的主页上,你有一个div,上面写着“今天的特价午餐”,然后是当天的特别节目。假设您知道在接下来的30天,每天特殊情况。 1月1日 - 三明治。 1月2日 - 汤。 1月3日 - 披萨。等等。

是否有办法提前提供所有这些信息(可能是某种数据库),以便在1月2日,网站自动更改为“汤”,1月3日,它变为“披萨” ,“等等?是否有可能提前提交信息,并让网站根据日期填充信息?或者你只需​​要每天进入HTML,更改它,然后将其上传到服务器?

我假设有办法做到这一点,但我不知道用什么样的语言来做这件事。也许PHP为数据,然后JavaScript调用数据?我是一个新手,所以欢迎任何建议。

1 个答案:

答案 0 :(得分:2)

有三种基本方法可以做到这一点:

  1. 在服务器上:在这种情况下,您的服务器端代码(PHP,Perl,Java,C#,Python,在NodeJS / SilkJS /等上运行的JavaScript,或几乎任何其他语言)响应页面请求并即时构建HTML;发送到浏览器的是完整的预填页面。发出一个HTTP请求(对于主页面;可能会有CSS和图像等)。

  2. 在客户端:在这种情况下,URL返回的页面是静态的,但它包含的JavaScript代码通过服务器从服务器发出第二个数据请求另一个网址。运行 URL的上的服务器端代码将数据返回给客户端(通常为JSON或XML),客户端JavaScript代码解释该数据并填充页面。请注意,仍然涉及服务器端代码,但实际填写页面的代码位于客户端上。因为它在客户端(浏览器)上,所以这将是JavaScript。至少发出两个HTTP请求(一个用于主页面,一个用于数据)。

  3. 在客户端上,取2 :主URL由服务器端代码处理,但服务器端代码返回静态HTML(如在#2中)但与数据一起客户端将在页面中嵌入#2请求。客户端代码读取嵌入数据并填写页面。再次,该代码将是JavaScript。发出一个HTTP请求(除了CSS等)。

  4. #2看起来有点傻 - 为什么要发出两个HTTP请求? - 但对于具有大型复杂HTML页面的网站来说并不罕见:它们通过CDN(内容交付网络,一种高速,通常仅以静态页面方式向终端用户提供数据)提供大型静态页面并允许它们被缓存,以及来自服务器的动态数据,它只响应数据请求并且不允许缓存这些响应。

    #3适用于您在查看页面时请求更新数据的情况。因此,您希望客户端代码具有填充页面的逻辑,但是您希望在用户到达时最小化HTTP请求。因此,您将第一组数据预先烘焙到页面中,然后定期请求更新,这就是您使用客户端代码填充页面的原因。


    上面我说过客户端代码必须是JavaScript。它到达浏览器时必须是JavaScript,但现在有几种语言可以“编译”到JavaScript,例如TypeScript,CoffeeScript和Dart。因此,如果您愿意,可以使用其中一种语言编写代码并将其“编译”为JavaScript以发送到浏览器。