0

我目前正在构建一个 nuxtjs 项目,其中 cockpit 作为我的无头 CMS。目前我发现使用 axios 提交帖子数据时存在问题。使用以下 fetch 时,它按预期工作:

fetch('/api/forms/submit/Inschrijven?token=xxxtokenxxx', {
    method: 'post',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
       form: {
            author: 'John Doe',
            content: 'Something',
            published: true
        }
    })
});

但遗憾的是,该项目所需的浏览器 IE 不支持 fetch。因此,我们对我们的请求使用 axios,但在与上述相同的 url 上使用 axios.post 总是返回“找不到路径”。

axios.post('/api/forms/submit/Inschrijven?token=xxtokenxx', {
    author: 'John Doe',
    content: 'Something',
    published: true
})
.then(entry => entry.json())
.then(entry => console.log(entry));

我怀疑 API 有问题,无法将其识别为真正的 json 帖子。这里的任何人都知道为什么 axios.post 不起作用?

4

1 回答 1

0

我以前使用过 cockpit cms 和 nuxtjs,我可以说有几件事与您提出请求的方式不同。

  1. 您未能通过标头
  2. 使用 JSON.stringify

    axios.post( 'https://something.com/api/forms/submit/contact?token=XXX', JSON.stringify({ form: { name: this.name, model: this.carModel, service: this.service, number: this.models.phoneNumber } }), { headers: { 'Content-Type': 'application/json' } } ) 类似于文档上的示例

    fetch('/api/forms/submit/cockpitForm?token=xxtokenxx', { method: 'post', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ form: { field1: 'value1', field2: 'value2' } }) }) .then(entry => entry.json()) .then(entry => console.log(entry));

于 2019-12-17T14:18:53.130 回答