Почему java получает null из js?
Есть JavaScript-функция которая пересылает данные формы в Java Servlet.
JavaScript:
function getAnswer(obj){
let form = document.getElementById(obj.id).parentElement;
let data = {
qId: form.elements['qId'].value,
qTypeId: form.elements['qTypeId'].value,
chanses: []
}
if (data.qTypeId==1||data.qTypeId==2) {
let chanses = form.elements['chans'];
for (let i = 0; i < chanses.length; i++) {
if (chanses[i].checked) {
data.chanses.push(chanses[i].value);
}
}
} else if(data.qTypeId==3){
let chans = form.elements['chans'];
data.chanses.push(chans.value);
}
let formData = new FormData();
formData.append("data", JSON.stringify(data));
fetch('setAnswer', {
method: 'POST',
body: formData
}).then(response=>{
console.log(data)
}).catch(error=>{
console.error(error)
});
}
Java:
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
try {
String jsonData = req.getParameter("data");
System.out.println(jsonData);
if (jsonData!=null && !jsonData.isEmpty()) {
JSONObject jsonObject = new JSONObject(jsonData);
System.out.println(jsonObject);
}
} catch (Exception e){
System.out.println(e.toString());
}
}
В итоге Java получает null
из req.getParameter("data")
, и соответственно не может обработать данные, подскажите пожалуйста в чем ошибка и как ее решить.
Источник: Stack Overflow на русском