【发布时间】:2014-03-25 10:00:36
【问题描述】:
我有一个静态 HTML 页面,其中包括第二个 HTML 页面,通过 (Apache) include virtual。
第二个页面也是静态的,只是它通过来自服务器的包含包含 HTML select 的内容:
<select id = "idListOpts" class="form-control input-md" size = 1>
<!--#include virtual="/cgi-bin/listopts" -->
</select>
这很好,除了 listopts 脚本(实际上是编译的 C++)是动态的,并从不断变化的数据库中返回内容。问题是我无法说服浏览器(FF 27、Chrome、Opera、IE9)select 实际上是动态的。我尝试在 listopts 标头中返回各种 no-cache 指令,我目前正在使用:
"Status: 200 OK\n"
"Pragma: no-cache\n"
"Cache-Control: no-cache\n"
"Cache-Control: max-age=0\n"
"Content-Type: text/html\n\n"
"<option value=\"-1\">...etc"
据我使用 Firebug 可以看出,整个 HTML 页面,包括所有虚拟包含,仅在手动刷新页面时加载一次,并且 select 内容仅在那时获取,并包含为一个静态列表。这似乎不是 Apache 文档所说的。 docs 说,当只有部分页面要动态生成时,可以使用 SSI。
知道如何解决这个问题,除了 JavaScript/Ajax 吗?
【问题讨论】: