Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么Javascript没有';在我的烧瓶应用程序中不工作?_Javascript_Python_Html_Flask - Fatal编程技术网

为什么Javascript没有';在我的烧瓶应用程序中不工作?

为什么Javascript没有';在我的烧瓶应用程序中不工作?,javascript,python,html,flask,Javascript,Python,Html,Flask,我的应用程序中的Javascript有问题。我用的是烧瓶,我在PyCharm工作。我的html在template文件夹中,我的Javascript在static文件夹中,所以这是一个外部文件。它叫main.js 以下是指向html中javascript的链接: 我尝试了两种版本,但都遇到了同样的问题。这两个链接实际上都可以在本地主机上第一次加载我的页面,但我的Javascript main.js文件中的每一个下一个更改都无法识别。例如,我将alert()放在main.js中只是为了确保链

我的应用程序中的Javascript有问题。我用的是烧瓶,我在PyCharm工作。我的html在template文件夹中,我的Javascript在static文件夹中,所以这是一个外部文件。它叫main.js

以下是指向html中javascript的链接:



我尝试了两种版本,但都遇到了同样的问题。这两个链接实际上都可以在本地主机上第一次加载我的页面,但我的Javascript main.js文件中的每一个下一个更改都无法识别。例如,我将alert()放在main.js中只是为了确保链接可以正常工作,而且工作正常。但是后来我删除了alert(),在那里放了一些其他Javascript代码并保存了它,但是尽管我从main.js文件中删除了它,这个alert()仍然是活动的。我在main.js中添加了这段新代码,它看起来好像根本不存在。所以我的问题是为什么我的main.js文件不能工作


我是不是遗漏了什么?有人在Flask或任何其他Python(micro)框架中遇到过这种问题吗?

您的第二个参考是
py
文件,而不是
js
文件:


使用烧瓶时,上述方法是完整路径的更好替代方法,因此将其更改为:


如果浏览器仍然没有刷新javascript,则应尝试硬刷新页面。在Chrome上,这是通过在PC上按CtrlShift或在Mac上按CMDShiftR来完成的。这将清理缓存并强制重新加载js文件

最后,如果这些都不起作用,那么您应该检查python代码是否正在修改头以获得更长的缓存。您可以通过尝试包括以下内容来“强制”烧瓶请求具有更短的缓存时间:

@app.after\u请求
def添加_标题(响应):
response.cache\u control.max\u age=300
返回响应
您还可以尝试更改无缓存的Flask应用程序设置:

app=Flask(\uuuuu name\uuuuuu)
...
app.config['SEND\u FILE\u MAX\u AGE\u DEFAULT']=0

我也会尝试其他浏览器,检查是否正在加载文件。

你的应用程序是否正在缓存文件?很好,这就解决了问题。我没有意识到缓存(仍在学习)。Tnx!我想我在发帖时把第二个参考资料拼错了。在我的代码中是main.js,而不是main.py。缓存显然是一个问题,这是我不知道的。非常感谢您提供此附加的Flask应用程序设置!伟大的如果答案包含问题的解决方案,你应该接受它。是的,当然,就是这么做的。