我使用Flask和JavaScript实现了自动完成功能,并试图将JavaScript放入不同的文件中。我的文件夹结构是这样的:url_for()调用ajax中的静态文件
- Project
- static
| -js
| autocomplete.js
- templates
| index.html
main.py
如果我添加脚本index.html
:
<script>
$(function() {
$.ajax({
url: '{{ url_for("autocomplete") }}'
}).done(function (data) {
$('#inputBox').autocomplete({
source: data,
minLength: 1
});
});
});
</script>
它工作正常,但是当我把代码放到/static/js/autocomplete.js
和index.html
添加<script src="../static/js/autocomplete.js"></script>
, 我得到一个404:
127.0.0.1 - - [11/Oct/2017 07:54:10] "GET /%7B%7B%20url_for(%22static%22,%22autocomplete%22)%20%7D%7D HTTP/1.1" 404 -
那么我该如何在url_for()
中写下路径?
的Python代码中有一行像:@ app.route('/自动完成”,方法= [ 'GET'])。我不是从python调用js,而是相反。 –
仔细阅读这两个重复。这绝对是重复的。不呈现静态文件。如果你想呈现诸如'url_for'之类的东西,你需要一个模板。 – davidism