繁体   English   中英

Flask - Javascript 请求不起作用? 404 未找到

[英]Flask - Javascript requests not working? 404 NOT FOUND

So I'm migrating from apache to using flask, I've moved all my css, javascript, csv and Images to static. 从那里我花了一段时间改变所有的hrefs所以一切都正确加载。
html 正在加载的所有内容都工作正常,但是 javascript 发送的所有请求都是 404,我不知道为什么。

我的目录结构如下:
Python:
-------- static:
--------------- css:
--------------- csv:
------------------------gamesToday.csv
--------------- js:
---------------图片:
------------------------------------logo.png
------------------------logo-small.png
--------模板:
------------------main.html
--------flaskTest.py
我的flasktest.py只是加载并渲染 main.html 文件。

Javascript 请求 csv 文件:

$.ajax({
    type: "GET",
    url: "{{url_for('static', filename='csv/gamesToday.csv')}}",
    dataType: "text",
    success: function(data) {processData(data);}
 });

Javascript 用于加载图像:

function logoSizing(){
    if($(window).width() < 992)
        $("#logo").attr("src", "{{url_for('static', filename='Images/small-logo.png");
    else
        $("#logo").attr("src", "{{url_for('static', filename='Images/logo.png");
}

奇怪的是,当我将图像请求移动到 html 中时,图像正确加载,所以我知道该文件实际上存在,所以我认为错误是因为我无法像这样进行 AJAX 调用? 如果是这样,我该如何正确地制作它?

抱歉,如果这很简单,今天才开始学习 flask,但我很难理解它。

jinja模板引擎不会解析.js文件,因此不会将{{url for...}}替换为实际的url。

您将需要从您的html模板之一传递url或对路径进行硬编码

对于 js 文件:

{{url_for('static',filename='main.js')}}

对于图像文件:

{{url_for('static',filename='main.js')}}

示例:(在 html 文件中添加脚本)

<script src="{{url_for('static',filename='main.js')}}"></script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM