NuxtJS отправляет сообщение в кабину CMS

В настоящее время я создаю проект nuxtjs с кабиной в качестве моей безголовой CMS. В настоящее время я нахожу проблему с использованием axios для отправки данных поста. При использовании следующей выборки она работает как задумано:

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
        }
    })
});

Но, к сожалению, fetch не поддерживается IE, браузером, который требуется для этого проекта. Поэтому мы используем axios для наших запросов, но использование axios.post по тому же URL-адресу, что и выше, всегда возвращает 'Path not found'.

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 не работает?

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));

Другие вопросы по тегам