在Python Flask中,Axios POST没有被正确解析。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Python Flask中,Axios POST没有被正确解析。相关的知识,希望对你有一定的参考价值。

介紹

你好,我可以看到这个问题问了很多次,但没有一个合适的解决方案。

什么是错的

GET请求和预期的一样,但如果我使用Vue.js和Axios向flask服务器发送POST请求。

用Postman发送JSON的POST请求也能正常工作。

下面是Axios的调用。

async submit() {
      await this.$axios.post("/bob/posting", { foo: "bar" }).then(response => {
        console.log(response)
      })
}

在flask那边:

from flask import Flask, request
from flask_cors import CORS,cross_origin
app = Flask(__name__)
cors = CORS(app, resources={r"//*": {"origins": "*"}})

@app.route('/bob/posting', methods=['POST'])
def handleRoute():
    print(request.is_json)
    return (
        request.args
        or request.form
        or request.get_json(force=True, silent=True)
        or request.data
    )

在flask那边的结果:

True会被打印出来(表示一个json请求)

什么都不会返回(另外,对于每个选项,我都试着分别打印,以防万一

Q

如何在flask服务器上正确使用从axios json请求中接收到的变量?

答案

完全不明白为什么,但添加一个textplain内容类型固定......什么......。

async submit() {
      await this.$axios.post("/bob/posting", { foo: "bar" }, {'content-type':'text/plain'}).then(response => {
        console.log(response)
      })
}

以上是关于在Python Flask中,Axios POST没有被正确解析。的主要内容,如果未能解决你的问题,请参考以下文章

Flask,Axios POST 返回网络错误

Axios 数据在发送到 Flask POST 路由时以 ImmutableMultiDict([]) 的形式出现,但与 Postman 一起使用

flask axios post返回http状态码405/400

用 Axios 反应 JS [重复]

配置 Axios 和 Flask 以使用 CORS 和 cookie

无法使用 Flask 和 Bootstrap-Vue 表单文件输入从 POST 请求中获取文件