Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Python正在抛出错误;类型错误:';非类型';对象不可下标";_Javascript_Python_Axios - Fatal编程技术网

Javascript Python正在抛出错误;类型错误:';非类型';对象不可下标";

Javascript Python正在抛出错误;类型错误:';非类型';对象不可下标";,javascript,python,axios,Javascript,Python,Axios,我正在通过我的html表单提交信息,希望JS axios能够处理表单提交,从而将传入的数据通知给我的API。但是,我一直收到一个typeerror,它告诉我,“非类型对象不可下标。”下面是我的代码: 我将数据发送到的Python路由 @app.route("/api/cupcakes", methods=["POST"]) def create_cupcake(): new_cupcake = Cupcake(flavor=request.json

我正在通过我的html表单提交信息,希望JS axios能够处理表单提交,从而将传入的数据通知给我的API。但是,我一直收到一个typeerror,它告诉我,“非类型对象不可下标。”下面是我的代码:

我将数据发送到的Python路由

@app.route("/api/cupcakes", methods=["POST"])
def create_cupcake():
    new_cupcake = Cupcake(flavor=request.json["flavor"], size=request.json["size"],
                          rating=request.json["rating"], image=request.json["image"])
    db.session.add(new_cupcake)
    db.session.commit()

    response_json = jsonify(cupcake=new_cupcake.serialize())
    return (response_json, 201)
HTML表单

    <form action="/api/cupcakes" method="post">

        <label for="flavor">Flavor:</label>
        <input type="text" name="flavor"><br>

        <label for="size">Size:</label>
        <input type="text" name="size"><br>

        <label for="rating">Rating:</label>
        <input type="number" step="any" min="0" max="100"
            name="rating" placeholder="Enter a rating"><br>

        <label for="image">Image</label>
        <input type="url" name="image" placeholder="Enter an image url"><br>

        <input class="btn" type="submit" value="Submit Cupcake">
    </form>
这是我错误的照片


我认为问题最有可能是因为
内容类型。默认情况下,axios在HTTP POST请求上使用
应用程序/x-www-form-urlencoded
内容类型头。因此,请尝试将内容类型更改为“
application/json

async function postCupcake() {
    let res = await axios.post('/api/cupcakes', {
        flavor: flavor,
        size: size,
        rating: rating,
        image: image
    },headers: {
        'Content-Type': 'application/json',
    })
    console.log(res)
}

谢谢你的回复。然而,这似乎并没有解决问题。我仍然收到同样的邮件error@rudehlabya您能否尝试在flask函数中打印
request.mimetype
async function postCupcake() {
    let res = await axios.post('/api/cupcakes', {
        flavor: flavor,
        size: size,
        rating: rating,
        image: image
    },headers: {
        'Content-Type': 'application/json',
    })
    console.log(res)
}