在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没有被正确解析。的主要内容,如果未能解决你的问题,请参考以下文章