当我尝试获取后端函数“createOrder”时,为什么控制台会给出错误请求400?

问题描述

我正在使用 Braintree 作为支付网关,当我使用他们给定的信用卡进行测试时,支付功能工作正常,但付款后,当后端提取代码被命中时,它应该创建一个订单,但它不起作用. 我正在使用此代码获取后端功能

import { API } from "../../backend";

export const createOrder = (userId,token,orderData) => {
    return fetch(`${API}/order/create/${userId}`,{  //getting error at this line
        method: "POST",headers: {
            Accept: "application/json","Content-Type": "application/json",Authorization: `Bearer ${token}`
        },body: JSON.stringify({order: orderData})
    }).then(response => {
        return response.json();
    }).catch(err => {
        console.log(err);
    })
};

后端代码是,

    router.param("userId",getUserById);
    router.post(
  "/order/create/:userId",isSignedIn,isAuthenticated,pushOrderInPurchaseList,updateStock,CreateOrder       
);

我收到错误“请求错误”。相同的获取请求在其他地方工作,例如创建产品和类别,API 在那里工作正常,但在这里不行。

解决方法

400 BAD REQUEST 的某些原因

URL 字符串语法错误。 HTTP 错误 400 可能是由于 URL 输入错误、语法格式错误或 URL 包含非法字符而发生的