我使用Python和Flask开发Web项目。我只是想知道如果我可以在我的外部JavaScript文件中访问由python发送的参数?它可以很好地处理html文件或嵌入在html文件中的js,但当javascript是extern时不会。在外部JavaScript文件中使用Jinja2模板引擎
见下文。
的Python代码
@app.route('/index')
def index():
return render_template('index.html', firstArg = 2, secondArg = 3)
中的index.html代码
...
<body>
<p>The first arg is {{firstArg}}.</p>
<script src="index.js"></script>
</body>
...
而且index.js文件
window.onload=function(){
console.log('{{secondArg}}');
};
所以第一个参数是在HTML文件中正确的,但第二个在js文件中不起作用。浏览器显示Unexpected token {
。
也许它不可能在外部js中使用它?
否则,我需要将第二个Arg作为输入数据插入到html中,并在js文件中获取它,但它不是很干净。
如果有人可以帮忙,谢谢。
谢谢。我将采用您的解决方案,并从HTML中调用函数。我只是有一个问题,路由index.js会产生什么影响?我不明白你的意思,我认为这只是路由,我看不到与js文件的链接。 –
当你添加一个路径瓶时,通过调用装饰函数(即'app.route()'后面的函数)来处理GET-Requests到路由的参数。因此,您可以将所有请求都捕获到'index.js',做一些计算并让模板引擎像HTML文件一样呈现JavaScript文件。 PS:如果您发现我的答案有用,我将不胜感激您接受它。 –