如何在 REST API 上通过 axios 设置 POST 请求?

How to set POST request via axios on REST API?

如何在 REST API 上通过 axios 设置 POST 请求?

Headers

我看到不正确 headers,但我不明白,为什么? 另外,我经常遇到这样一个事实,即 axios 的文档根本不起作用。

示例获取 GET 请求,它有效: Dynamic host in axios

const configAxios = {
  headers: {
    'Content-Type': 'application/json; charset=UTF-8',
    'Access-Control-Allow-Origin': '*',
  },
};
const data = JSON.stringify({
  cardData: this.cardData.brand,
});
axios.post('api/products', {
  data,
},
  configAxios,
)
.then((req) => {
  this.data = req.data;
  console.log(req);
})
.catch((err) => {
  console.warn('error during http call', err);
});

这是获取主机所必需的 API:

p.s.: 这只能以这种方式工作。

const baseURL = 'http://localhost:8080';
if (typeof baseURL !== 'undefined') {
  Vue.axios.defaults.baseURL = baseURL;
}

如果 API 和客户端在不同的域名上,您需要正确配置 CORS headers 以允许客户端联系服务器。您还需要将授权的 headers.

列入白名单

使用 API 平台和 Symfony,您可以使用 NelmioCorsBundle 轻松完成。如果你使用 Symfony 4/Flex,运行:

$ composer req cors

程序包将自动安装并正确配置。 `Content-Type] 甚至会是 whitelisted