Mam dynamiczna forma na jednej z moich stron internetowych. Forma zapisuje dane w pliku skryptu i aktualizuje je w miarę dodawania przez użytkownika dodatkowych danych z formularza. Jest to obiekt, który tworzę w JS:
const survey = {
title: '',
createdBy: '',
description: '',
openingMsg: '',
thankyouMsg: '',
questions: [],
}
Tablica pytań zawiera obiekty pytań. To taka klasa:
class Question {
constructor(id) {
this.id = id
}
questionText = ''
type = ''
choices = new Map()
}
Dodaję detektor zdarzeń do przycisku wysyłania w następujący sposób:
const saveSurveyBtn = document.getElementById('saveSurvey')
surveyForm.addEventListener('submit', saveSurvey)
a funkcja saveSurvey wygląda tak:
function saveSurvey(e) {
e.preventDefault()
fetch('../../actions/save-survey.php', {
method: 'POST',
body: JSON.stringify(survey),
headers: {
"Content-type": "application/json;charset=UTF-8"
}
})
}
Jak widać, staram się wysłać dane do lokalnego skrypt php z JS. Wszystko jest dobrze, dopóki nie dotrę do pliku skryptu php. Problem następujący; niezależnie od tego, że w moim wywołaniu próbki używam metoda: POST, zawsze wysyłane jako żądanie GET. Dlaczego? Jak mogę to naprawić?