gpt4 book ai didi

python - 如何在 flask 中获取 AJAX 发布的 JSON?

转载 作者:行者123 更新时间:2023-12-01 14:41:18 26 4
gpt4 key购买 nike

<分区>

我正在关注这个 flask tutorial了解如何使用 Python 构建应用。

教程(接近尾声)讨论了如何在 python 中获取 AJAX 发布的 JSON,如下所示:

HTML代码:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script type="text/javascript">
// setup some JSON to use
var cars = [
{ "make":"Porsche", "model":"911S" },
{ "make":"Mercedes-Benz", "model":"220SE" },
{ "make":"Jaguar","model": "Mark VII" }
];

window.onload = function() {
document.getElementById("theButton").onclick = doWork;
}

function doWork() {
// ajax the JSON to the server
$.post("receiver", cars, function() {

});
// stop link reloading the page
event.preventDefault();
}
</script>
This will send data using AJAX to Python:
<br/><br/>
<a href="" id="theButton">Click Me</a>

Python 代码:

import sys

from flask import Flask, render_template, request, redirect, Response
import random, json

app = Flask(__name__)

@app.route('/')
def output():
return render_template('index.html')

@app.route('/receiver', methods = ['POST'])
def worker():
# read json + reply
data = request.get_json()
result = ''

for item in data:
# loop over every row
result += str(item['make']) + '\n'

return result

if __name__ == '__main__':
app.run()

当我运行脚本并单击浏览器中的“单击我”按钮时,我在浏览器中检查响应时收到 500 Internal Server Error。如果我打印数据变量,它会在终端的点击事件中打印出 None。我尝试了评论中给出的建议,在 Python 脚本中使用 get_json(forced=true) 并在 HTML 文件中对 'cars' JSON 进行字符串化,但没有成功。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com