我在一个自己喜欢的项目中使用了axios,并且有一个来自BambooHR应用编程接口(https://documentation.bamboohr.com/reference#request-custom-report-1)的代码样本。他们使用node-fetch,所以我将其重写为axios。示例代码如下:
const fetch = require("node-fetch");
const url =
"https://api.bamboohr.com/api/gateway.php/companyDomain/v1/reports/custom";
const options = {
method: "POST",
qs: { format: "JSON" },
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
fields: ["firstName", "lastName"],
title: "AllOfThem",
}),
};
fetch(url, options)
.then((res) => res.json())
.then((json) => console.log(json))
.catch((err) => console.error("error:" + err));我把它翻译成了一篇AXIOS文章:
let res = await axios.post(
"https://api.bamboohr.com/api/gateway.php/" + domain + "/v1/reports/custom",
{
title: "AllOfThem",
fields: ["firstName", "lastName"],
},
{
auth: {
username: seckey,
password: "x",
},
params: { format: "JSON" },
headers: { Accept: "application/json" },
}
);但我收到了400个'Bad request‘。我做错了什么?
发布于 2021-07-05 06:07:18
我也有类似的问题。axios中存在一个尚未修复的服务器端请求伪造漏洞。这可能就是你得到404的原因。我正在尝试使用fetch而不是axios重写以下代码:
componentDidMount() {
axios
.get("http://localhost:3000/record")
.then((response) => {
this.setState({ records: response.data });
})
.catch(function (error) {
console.log(error);
});
}也许我们可以在这方面合作?
https://stackoverflow.com/questions/66320748
复制相似问题