繁体   English   中英

“axios.defaults.headers.common['Content-Type'] = 'application/json'” 但 axios.post 仍然是“application/x-www-form-urlencoded”

[英]"axios.defaults.headers.common['Content-Type'] = 'application/json'" but axios.post still is "application/x-www-form-urlencoded"

我通过以下代码设置 axios common header Content-Type = application/json:

axios.defaults.headers.common['Content-Type'] = 'application/json';

但是当我尝试使用axios.post('apiurl', json)时,浏览器 Content-Type 仍然是application/x-www-form-urlencoded

在此处输入图像描述

我尝试使用axios.post('Get_Office_PO_NO_Data', json, { headers: { 'content-type': 'application/json' } })和 Z38C37879339C7B0B6FCEZD application/json content type

在此处输入图像描述

根据文档,您想要post ,而不是common

axios.defaults.headers.post['Content-Type'] = 'application/json';
// −−−−−−−−−−−−−−−−−−−−^^^^

这是有道理的; 其他请求类型( GETDELETE等)没有任何请求正文来应用内容类型。 PUTPATCH可以,但我猜他们认为您不太可能想要为POSTPUT设置相同的默认内容类型,或者这只是开发人员的心血来潮。)

(或者,您可以考虑通过axios.create使用您的默认值创建一个实例,然后使用该实例。更改全局默认值总是让我有点不安。:-))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM