如何通过html发送烧瓶base_url到js文件

时间:2019-11-23 10:23:08

标签: javascript html flask

由于URL是动态的,因此我必须将base_url瓶函数发送到js文件。

我能够为特定的烧瓶功能创建base_url

url_of_this_function = request.base_url

root_url = url_of_this_function[:url_of_this_function.rfind('/')]

pointing_url = str(url_for('filter_student'))

filter_pointing_url = ''.join([root_url,pointing_url])

我通过html将其传递到render_template

return render_template('mypage.html',\
        student_filter_link=filter_pointing_url,student_state_list=state_list)

mypage.html

<select id='student_state_selected' style='display:inline-block' onchange='get_student_filters({{ student_filter_link }})'>
     <option disabled selected>Select</option>
     {% for item in student_state_list %}
     <option value="{{item}}">{{item}}</option>
     {% endfor %}
</select>

当我尝试在自己的js脚本中阅读此内容时,此操作不起作用。

function get_student_filters(filter_link) {
// Do my stuff
}

这是将URL传递到js的正确方法吗? 有更好的方法还是我在这里做错了什么?

1 个答案:

答案 0 :(得分:2)

<select id='student_state_selected' style='display:inline-block' onchange='get_student_filters({{ student_filter_link }})'>
     <option disabled selected>Select</option>
     {% for item in student_state_list %}
     <option value="{{item}}">{{item}}</option>
     {% endfor %}
</select>

我只需要将onchange='get_student_filters({{ student_filter_link }})'更改为onchange='get_student_filters("{{ student_filter_link }}")'

成功了!

希望它可以帮助某人。