[英]Flask|Jinjia2|Javascript: Passing Flask template variable into Javascript
[英]Passing variable to Flask from Javascript and then loading template
在我的Flask应用程序中(我对Flask相当陌生),我使用Javascript获取客户的经度和纬度值,然后将格式化的字符串传递给flask视图。 该视图应该将字符串传递给在线API并获取JSON对象。 然后将其转换为字典,并在新页面上显示某些值。 我将Javasctipt函数的变量传递给视图后,无法从视图加载页面。 我知道它会返回结果(我尝试使用Javascript的alert
来显示结果html
),但是由于某些原因, return rendered_template()
不会加载新页面。 我不知道这是否有可能实现。 谢谢。
使用Javascript:
function getLocation(){
if("geolocation" in navigator) {
navigator.geolocation.getCurrentPosition(transferFile);
}
}
function transferFile(position){
var start = 'lat=';
var result = start.concat(position.coords.latitude, '&lon=', position.coords.longitude, '&format=json');
$.get(
url="phony",
data= result,
success=function(data) {
;
}
);
}
这是烧瓶部分:
@app.route('/phony')
def phony():
query = request.query_string
url = <link to API> + query
location_dict = requests.get(url).json()
return render_template("phony.html", location_data = location_dict)
您当前对$.get
调用对成功回调没有任何作用
success: function(data) {
;
}
data
包含render_template('phone.html', location_data=location_dict)
。 您需要将其添加到页面。
success: function(data) {
$('#some-selector').html(data);
}
它将用输出替换与#some-selector
匹配的元素的内容。 如果输出包含一个新的HTML文档(即,它包装在html标记中),则需要替换整个DOM。 你可以用类似的方法做到这一点
success: function(data) {
$('html').replaceWith(data);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.