在我的Flask应用程序中 - 我是Flask的新手 - 我使用Javascript获取客户端的纬度和经度值,然后将格式化的字符串传递给烧瓶视图。该视图应该将字符串传递给在线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) {
;
}
);
}
这是Flask部分:
@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)
答案 0 :(得分:1)
您对// Reverse Geocoding
BasicGeoposition myLocation = new BasicGeoposition {
Longitude = position.Coordinate.Longitude,
Latitude = position.Coordinate.Latitude
};
Geopoint pointToReverseGeocode = new Geopoint(myLocation);
的当前通话对成功回拨中的结果没有任何作用
$.get
success: function(data) {
;
}
包含data
的输出。您需要将其添加到页面中。
render_template('phone.html', location_data=location_dict)
这会将匹配success: function(data) {
$('#some-selector').html(data);
}
的元素的内容替换为输出。如果输出包含新的HTML文档(即,它包含在html标记中),那么您将要替换整个DOM。你可以用
#some-selector