我正在用烧瓶写一个小的网站,用邮递员发送发帖请求
app.py
@app.route('/index', methods=['GET', 'POST'])
def index():
if session["logged_in"]:
return render_template('index.html')
else:
return redirect(url_for('login'))
@app.route('/get_msg', methods = ['POST'])
def get_msg():
time_toshow = request.get_json(force = True)
return time_toshow
index.html(主要部分)
<script>
$(document).ready(function(){
$.ajax({
url: "{{url_for('get_msg')}}",
type: 'post',
dataType: 'json',
contentType: 'application/json',
success: function (data) {
$('#shown').html(data);
console.log(data);
},
});
})
</script>
</head>
<body>
<h1 id='shown' class='blackshadow' style="font-size: 80px">Good</h1>
</body>
通过邮递员发送发帖请求后,网页永远不会更新
我发送到http://127.0.0.1:5000/get_msg
的帖子请求是:
{"AbnormalTime": "5000"}
控制台也不记录任何内容
答案 0 :(得分:1)
尝试一下:
$.ajax({
url: "{{url_for('get_msg')}}",
type: 'post',
dataType: 'json',
contentType: 'application/json',
data: JSON.stringify(time_toshow),
success: function (data) {
$('#shown').html(JSON.stringify(data));
console.log(data);
},
});
在成功函数中以及在传递数据时,请注意JSON.stringify()。
如果不使用JSON.stringify(),则JSON会转换为AbnormalTime = 5000而不是{“ AbnormalTime”:“ 5000”},因此服务器返回400错误(错误请求)。参见here。