【问题标题】:How to load a html file's content into javascript variable in django?如何将 html 文件的内容加载到 django 中的 javascript 变量中?
【发布时间】:2013-07-31 21:14:58
【问题描述】:

当某些事件触发时,我想在 div 之后插入 abc.html 的内容。

我试过了

var content = {% include "path/to/abc.html" %};

$(".myDiv").click(function() {

$("#anotherDiv").insertAfter(content);
});

但是,`{% include %} 似乎由于某种解析错误而失败。 (abc.html 是多行的)

abc.html 包含 django 过滤器/标签。

有什么想法吗?

【问题讨论】:

  • @dan-klasson:请赐教。怎么样?
  • 您在{% include "path/to/abc.html %} 中缺少一个双引号。应该是{% include "path/to/abc.html" %}。反正我觉得行不通,那就想别的办法吧。
  • 喜欢 asifrc 的回答。也许也可以尝试替换字符串中的\n
  • 它不会以这种方式工作。在显示内容之前,您应该制作一个 js 函数,在获取确切路径后读取文件
  • 这是预览导入文件内容catherinetenajeros.blogspot.com/2013/05/…。不同之处在于,这是在导入时显示内容,而您是根据确切路径显示内容。如果你能理解代码的流程,你就能得到解决方案。

标签: javascript jquery django templates


【解决方案1】:

另一种方法是将内容放入隐藏的 div 中,然后让您的点击功能取消隐藏它。

【讨论】:

  • 可以将其分离并附加到其他地方吗? .detach() 和 .insertAfter() 似乎可以完成这项工作。
【解决方案2】:

如果 abc.html 是纯 html,那么你可以做一个简单的 ajax 请求来加载文件,例如

$(".myDiv").click(function() {
    $.get('path/to/abc.html', {}, function(content) {
        $(content).insertAfter("#anotherDiv");
    });
});

虽然如果您担心加载时间,您可以提前将其加载到变量中。

如果代码有意义或有任何问题,请告诉我:)

【讨论】:

  • 啊,是的,我试过了,不幸的是 html 包含 django 标签。 (不是纯 html),我会相应地编辑我的问题
猜你喜欢
  • 2023-03-14
  • 1970-01-01
  • 2017-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-19
相关资源
最近更新 更多