我正在使用弹簧靴(STS3)。我想做一些简单的页面,一个是注册页面,允许用户输入其用户名/密码进行注册(数据应另存为json文件在服务器上)。另一个是登录页面,允许用户输入用户名/密码并对照json文件进行登录。
我在下面的示例中使用表单,并将输入的用户名/密码转换为json格式。 https://lengstorf.com/code/get-form-values-as-json/
/**
* Retrieves input data from a form and returns it as a JSON object.
* @param {HTMLFormControlsCollection} elements the form elements
* @return {Object} form data as an object literal
*/
const formToJSON = elements => [].reduce.call(elements, (data, element) => {
data[element.name] = element.value;
return data;
}, {});
const handleFormSubmit = event => {
// Stop the form from submitting since we’re handling that with AJAX.
event.preventDefault();
// Call our function to get the form data.
const data = formToJSON(form.elements);
// Demo only: print the form data onscreen as a formatted JSON object.
const dataContainer = document.getElementsByClassName('results__display')[0];
// Use `JSON.stringify()` to make the output valid, human-readable JSON.
dataContainer.textContent = JSON.stringify(data, null, " ");
// ...this is where we’d actually do something with the form data...
};
const form = document.getElementsByClassName('contact-form')[0];
form.addEventListener('submit', handleFormSubmit);
但是,上面的示例只能显示该网页上的json数据(在“ results__display”区域中)。我想将json数据保存到服务器上的文件中。该怎么做?
更新: 我发现了类似的问题(Save html form input to json file),但他们使用的是“ fs.writeFileSync”。似乎仅在node.js中有效。我将其作为Spring Boot应用程序运行,它不起作用。该怎么办?
'use strict';
const fs = require('fs');
let student = {
name: 'Mike',
age: 25,
gender: 'Male',
department: 'English',
car: 'Honda'
};
let data = JSON.stringify(student);
fs.writeFileSync('file.json', data, finished);
function finished(err)
{
console.log('success');
}