JavaScript fetch API和Python Flask头问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript fetch API和Python Flask头问题相关的知识,希望对你有一定的参考价值。

我正在尝试将JSON有效负载发布到在localhost:8080上运行的Flask服务器。

使用Javascript

    fetch(SERVER_URL, {
        method: 'POST',
        mode: 'no-cors',
        headers: {
            'Accept': 'application/json',
            'Content-Type': 'application/json'
        },
        body: JSON.stringify({"hello": "world"})
    });

我正在为我的服务器使用Python Flask,我只想在服务器端打印收到的JSON。

Python烧瓶

from flask import Flask
from flask import request

app = Flask(__name__)

@app.route('/route', methods = ['POST'])
def routeHandler():
    data = request.get_json()
    print(data)
    return 'got it'

app.run(port = 8080)

打印声明被触发,但dataNone。在阅读Flask API文档后,我知道data可能是None的原因之一是在请求中未设置正确的内容类型。为了检查这一点,我做了以下更改

 data = request.get_json(force = True)

绕过is_json()检查并继续解析。这有效,表明我的标题有问题。但是,我确保我的fetch请求与API文档一致,所以我不确定我哪里出错了。

我已经从Postman发送了相同的请求,即使没有force = True,也可以在服务器上成功收到。邮差中唯一生成的标题是Content-Type: application/json

谢谢你的帮助。

答案

我有同样的挫折感,你的问题通过强制get_json()帮助解决了我的问题

我注意到我的实现和你的实现之间的区别是:

from flask_cors import CORS
CORS(app)

https://flask-cors.readthedocs.io/en/latest/

以上是关于JavaScript fetch API和Python Flask头问题的主要内容,如果未能解决你的问题,请参考以下文章

如何使用“Fetch API”在 javascript 和 c# 之间传递数据?

javascript JavaScript Fetch API

[Javascript] Fetch API

在 Javascript/Reactjs 中使用 Fetch API 和 map() 显示 JSON 数据

在 javascript 中使用 fetch 请求 API 存在 CORS 策略错误

如何使用 javascript fetch api 和 express multer 上传图像