如何在Javascript中存储Django打开的文件内容

时间:2016-07-07 15:50:43

标签: javascript html django

我试图找出在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按钮操作它,而无需再次重新加载文件。我不太确定如何处理这个问题,所以任何反馈都会受到赞赏。

2 个答案:

答案 0 :(得分:0)

将值设置为隐藏元素

<input type="hidden" value="{{ accessed_file }}" id="file">

通过以下方式访问:

$('#file').val()

答案 1 :(得分:0)

您无法访问$ .get之外的全局数据,因为结果以异步方式返回到回调函数,它将在$ .get之外的代码运行后运行。您可以使用promises(https://api.jquery.com/category/deferred-object/)来等待数据。