显然相等的axios.put方法,只有一个工作正常

zf2sa74q  于 2023-03-18  发布在  iOS
关注(0)|答案(1)|浏览(193)

有人能解释一下这两种语法之间的区别吗?为什么第一种语法不起作用?

这给我一个401错误:

const handleSubmit = () => {
axios.put(`url`, {
    headers: {
      Authorization: `Token ${token}`,
      "Content-Type": "application/json",
    },
    data: data,
  })
  .then(function (response) {
    console.log(JSON.stringify(response.data));
  })

 };

当这完美的工作:

var config = {
method: "put",
maxBodyLength: Infinity,
url: "url",
headers: {
  Authorization: `Token ${token}`,
  "Content-Type": "application/json",
},
data: data,
};

const handleSubmit = () => {
axios(config)
  .then(function (response) {
    console.log(JSON.stringify(response.data));
  })
};
gzszwxb4

gzszwxb41#

第一个代码片段是不正确的,因为头和数据属性应该作为选项传递给axios.put()方法,而不是作为数据对象的属性。正确的语法应该是:

axios.put(url here, data, {
  headers: {
    Authorization: `Token ${token}`,
    "Content-Type": "application/json",
  }
})
.then(function (response) {
  console.log(JSON.stringify(response.data));
})

相关问题