代码之家  ›  专栏  ›  技术社区  ›  Rupert Madden-Abbott

用PHP和JS生成相同的HTML

  •  1
  • Rupert Madden-Abbott  · 技术社区  · 15 年前

    我经常向PHP中添加返回复杂HTML的helper函数。例如,要确保表单元素是可访问的,能够处理错误等等,这不是一项容易的任务,因此我将用一个PHP函数来包装这个问题。

    不幸的是,有时,我需要生成相同的HTML,但用JS代替。举个例子,我有一个Flash上传器,可以上传多个文件。在上传每个文件时,我想在同一页上填充另一个表单,允许用户编辑文件数据。

    我已经在PHP helper函数中为这个表单输入了规范。目前,我只是用JS手动重新创建这些输入。然而,这是低效和令人沮丧的,因为如果我想改变这些输入的某些方面,我现在必须在两个地方改变它们。

    我可以做的一件事是在上传文件的AJAX请求中将表单元素传递回JS。这工作很好,但如果我有大量的HTML可能会有问题。

    有没有比这更好的方法,或者使用AJAX请求是最好的方法?

    3 回复  |  直到 15 年前
        1
  •  3
  •   Tim Lytle    15 年前

    我可以做的一件事是在上传文件的AJAX请求中将表单元素传递回JS。这工作很好,但如果我有大量的HTML可能会有问题。

    当然,这将允许您避免代码重复。

    但如果你只是 两次请求相同的HTML ,这意味着-无论大小-对相同的数据有一个额外的HTTP请求。

    , 存储结果,然后只使用“缓存”HTML

    当然,只有在HTML是 完全相同的 .

    如果它是相同的,如果最初的请求在页面上放了一个副本,为什么不呢 跳过AJAX请求,在加载文档时让javascript“缓存”表单的副本

        2
  •  0
  •   aularon    15 年前

    在php中创建一个页面/控制器,该页面/控制器将引用您存储的规范,并调用函数并返回其输出。

        3
  •  0
  •   Justin    15 年前

    在你的回答进行到一半的时候,我建议通过一个web服务将输入作为JSON抓取。换句话说,我打算推荐AJAX(或者我猜是AJAJ)。