html传递json数据到python后端
时间: 2023-10-09 19:10:19 浏览: 134
要在 HTML 页面中传递 JSON 数据到 Python 后端,可以使用 JavaScript 将 JSON 数据序列化为字符串,并将其作为 POST 请求的请求体发送到 Python 服务器。以下是一个简单的示例:
HTML 页面:
```html
<!DOCTYPE html>
<html>
<head>
<title>传递JSON数据</title>
</head>
<body>
<script>
var data = {
"name": "张三",
"age": 20,
"gender": "男"
};
var xhr = new XMLHttpRequest();
xhr.open('POST', '/json_data');
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.send(JSON.stringify(data));
</script>
</body>
</html>
```
Python 服务器:
```python
from flask import Flask, request
app = Flask(__name__)
@app.route('/json_data', methods=['POST'])
def handle_json_data():
data = request.get_json()
name = data['name']
age = data['age']
gender = data['gender']
return '姓名:{},年龄:{},性别:{}'.format(name, age, gender)
if __name__ == '__main__':
app.run(debug=True)
```
在上面的示例中,JavaScript 将一个 JSON 对象序列化为字符串,并使用 XMLHttpRequest 对象向 `/json_data` 路径发送了一个 POST 请求,请求体为 JSON 字符串。在 Python 服务器中,`request.get_json()` 获取请求体中的 JSON 数据,然后使用这些数据返回一个简单的字符串响应。
需要注意的是,请求头中的 `Content-Type` 要设置为 `application/json`,表示请求体中包含 JSON 数据。在 Python 服务器中,可以使用 `request.get_json()` 方法获取 JSON 数据,Flask 会自动根据请求头中的 `Content-Type` 解析请求体中的数据。
阅读全文