首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >node-fetch POST的正确AXIOS版本

node-fetch POST的正确AXIOS版本
EN

Stack Overflow用户
提问于 2021-02-23 01:42:52
回答 1查看 43关注 0票数 0

我在一个自己喜欢的项目中使用了axios,并且有一个来自BambooHR应用编程接口(https://documentation.bamboohr.com/reference#request-custom-report-1)的代码样本。他们使用node-fetch,所以我将其重写为axios。示例代码如下:

代码语言:javascript
复制
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文章:

代码语言:javascript
复制
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‘。我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2021-07-05 06:07:18

我也有类似的问题。axios中存在一个尚未修复的服务器端请求伪造漏洞。这可能就是你得到404的原因。我正在尝试使用fetch而不是axios重写以下代码:

代码语言:javascript
复制
  componentDidMount() {
    axios
      .get("http://localhost:3000/record")
      .then((response) => {
        this.setState({ records: response.data });
      })
      .catch(function (error) {
        console.log(error);
      });
  }

也许我们可以在这方面合作?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66320748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档