axios.post 显示错误“请求失败,状态码为 400”,但邮递员发布了相同的数据
Posted
技术标签:
【中文标题】axios.post 显示错误“请求失败,状态码为 400”,但邮递员发布了相同的数据【英文标题】:axios.post is showing error "Request failed with status code 400" but same data is posted by postman 【发布时间】:2021-11-16 07:44:11 【问题描述】:当我在邮递员中发布具有相同“url-link”的相同“数据对象”时,它的工作和我的数据在邮递员中成功发布。但是当通过 axios 命中请求时,出现错误“请求失败,状态码 400”。我的数据没有发布。我试图传递 axios 的数据对象,例如“JSON.stringify(data)”,但它不起作用并显示错误“状态 400”。请解决我的问题....
const Axios = require("axios");
export const uploadImages = (data) => async (dispatch) =>
dispatch(
type: "UPLOAD_IMAGES_INIT",
);
try
const result = await Axios.post("http://localhost:4000/postImages",
"id":1,
"name":"Flare Dress",
"price":12000,
"salePrice":20000,
"discount":10,
"pictures":[
"/assets/images/fashion/product/1.jpg",
],
"shortDetails":"Sed ut perspiciatis, unde omnis iste natu",
"description":"Lorem Ipsum is simply dummy text of",
"stock":16,
"new":true,
"sale":true,
"category":"women",
"colors":[
"yellow",
],
"size":[
"M",
],
"tags":[
"nike",
],
"rating":4,
"variants":[
"color":"yellow",
"images":"/assets/images/fashion/product/1.jpg"
,
],
"newPostImages":[
"images":"/assets/images/fashion/product/1.jpg"
,
]
);
catch (err)
const error = err.message || "Error Upload Images";
dispatch(
type: "UPLOAD_IMAGES_FAIL",
payload: error,
);
;
【问题讨论】:
服务器(无论在localhost:4000/postImages监听的任何组件)都没有处理请求,因为它在某些方面是“坏的”——错误的参数、意外的值等。检查你的端点代码并确保您正在发送正确的数据。 【参考方案1】:我得到了这个问题的答案。 Postman 和我的代码的请求结构有所不同(无论使用 fetch 还是 Axios)。是的,可能会发生当前用户没有对某些实体的权限,但在这种情况下,它的全部内容如下:
简单的答案:您必须选择 cookie 身份验证或基本身份验证。 基本身份验证:用户和密码的 base64 格式。 Cookie 身份验证(我正在使用此选项):Drupal 在执行登录请求时使用会话 cookie 设置标头(邮递员是自动的,但在您的代码请求中,您需要包含并发送相同的 cookie 用于 POST或 PATCH 或任何需要身份验证的东西)。不要忘记也发送您的令牌标头。【讨论】:
以上是关于axios.post 显示错误“请求失败,状态码为 400”,但邮递员发布了相同的数据的主要内容,如果未能解决你的问题,请参考以下文章
我收到 Uncaught (in promise) 错误:请求失败,状态码为 401