我试图找出在Django中我的HTML模板中访问我的文件的最简单方法,并将此文件存储为Javascript中的字符串。我试过通过以下方式直接存储它:
var global_data = '{{ accessed_file }}';
但对我来说没有用。我可以通过直接在HTML文档中加载我的静态文件然后使用$ .get检索它来访问它。
$(document).ready(function() {
{% with '/path/to/file.txt' as accessed_file %}
$.get("{% static accessed_pdb %}", function(data){
// function using data
});
});
{% endwith %}
但是,我希望能够访问$ .get之外的数据。我尝试将其分配给全局变量,但没有运气。
$(document).ready(function() {
var global_data = '';
{% with '/path/to/file.txt' as accessed_file %}
$.get("{% static accessed_pdb %}", function(data){
global_data = data;
});
//access global_data outside of $.get
});
{% endwith %}
我在我的网站上使用该文件进行视觉效果,目前我无法在$ .get内使用HTML按钮操作它,而无需再次重新加载文件。我不太确定如何处理这个问题,所以任何反馈都会受到赞赏。
答案 0 :(得分:0)
将值设置为隐藏元素
<input type="hidden" value="{{ accessed_file }}" id="file">
通过以下方式访问:
$('#file').val()
答案 1 :(得分:0)
您无法访问$ .get之外的全局数据,因为结果以异步方式返回到回调函数,它将在$ .get之外的代码运行后运行。您可以使用promises(https://api.jquery.com/category/deferred-object/)来等待数据。