如何将这个文本存储在服务器的json文件中并在页面中重新呈现出来呢
时间: 2024-02-11 20:07:16 浏览: 26
要将提交的文本存储在服务器的JSON文件中,可以使用Node.js的fs模块来读写文件。以下是一个简单的示例:
```javascript
const express = require('express');
const bodyParser = require('body-parser');
const fs = require('fs');
const app = express();
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
app.get('/', (req, res) => {
fs.readFile('data.json', 'utf8', (err, data) => {
if (err) {
console.error(err);
res.send('Error reading data file!');
} else {
const jsonData = JSON.parse(data);
res.send(`
<html>
<head>
<meta charset="UTF-8">
<title>CKEditor Demo</title>
<script src="https://cdn.ckeditor.com/ckeditor5/29.0.0/classic/ckeditor.js"></script>
</head>
<body>
<form method="POST" action="/submit">
<textarea name="editor">${jsonData.text}</textarea>
<button type="submit">Submit</button>
</form>
</body>
</html>
`);
}
});
});
app.post('/submit', (req, res) => {
const data = { text: req.body.editor };
fs.writeFile('data.json', JSON.stringify(data), 'utf8', (err) => {
if (err) {
console.error(err);
res.send('Error writing data file!');
} else {
res.send('Data submitted!');
}
});
});
app.listen(3000, () => {
console.log('Server is running on port 3000!');
});
```
在上述代码中,我们首先在GET路由处理程序中读取data.json文件,并将其中的文本呈现在编辑器中。在POST路由处理程序中,我们将提交的文本保存在一个JavaScript对象中,并将其写入data.json文件中。在写入成功后,将返回一个简单的响应。
值得注意的是,此示例仅用于演示目的,因此没有进行任何错误处理或安全性检查。在生产环境中,需要进行适当的错误处理和安全性检查。