这是我第一次尝试连接Flask后端和Angular前端。我试图让前端收集后端生成的JSON数据。这就是代码的样子。
烧瓶中:
@app.route('/weather/loc', methods=["POST","GET"])
def say_hi():
location = request.form.get("location", default="London")
try:
location, condition, temp = weatherAtLocation( location)
content = "Hello there %s, your weather is %s with a temperature of %s°C." %(location, condition.lower(), temp)
return_dic = {
"location":location,
"condition":condition.lower(),
"temperature": temp
}
return jsonify(return_dic)
except:
return jsonify( {})
手动测试后,这似乎工作正常。我的问题在于Angular,调用的函数是:
hasclicked(){
this.HttpClient.post("http://127.0.0.1:5000/weather/loc",
{
"location":"London"
})
}
我的问题是我不熟悉TypeScript,找不到向我展示如何存储返回的JSON数据的示例。
答案 0 :(得分:1)
您需要订阅post()
方法,否则永远不会执行调用。然后,您就可以与响应进行交互。请参阅here for more information regarding making POST requests。