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, и могу сказать, что несколько вещей отличаются от того, как вы сделали свой запрос.
- Вы не смогли передать заголовки
Используйте 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));