我已经为这件事挠头一段时间了。我有一个使用电子桌面应用程序的计划。因此,我正在使用Node.js和Express.js开发一个应用程序。我有一个简单的app.js文件来启动我的站点代码:
var express = require("express");
var app = express();
app.use(express.static(__dirname + '/public'));
app.listen(3000, function () {
console.log('Example app listening on port 3000!');
});
然后我的页面上有一张表格:
<form>
<input type="text" name="name">
<input type="text" name="url">
<button type="submit">Submit</button>
</form>
在来自一个jQuery文件的提交按钮上设置了一个script.js事件处理程序:
$(document).ready(function(){
var text;
$('form').submit(function( event ) {
text = $( this ).serializeArray();
console.log( text );
event.preventDefault();
});
});
如何将表单中的文本写入JSON文件(在关闭和重新打开应用程序时可以再次读取)。
有一个问题和答案:用Node.js编写文件
我理解这一点,但是如何从提交按钮执行该代码呢?
我的文件结构非常简单:
|- app.js
|- package.json
|- node_modules
|- public_
|- data.json
|- index.html
|- jquery.js
|- script.js
|- style.css
|- bootstrap.min.css
|- bootstrap.min.js
发布于 2016-04-15 10:35:23
关于客户:
$(document).ready(function(){
var text;
$('form').submit(function( event ) {
text = $( this ).serializeArray();
// Send data to server
$.post('/saveFile', {data: text});
event.preventDefault();
});
});
因此,您可以使用AJAX
请求发送数据。请参阅有关jQuery.post()的更多信息
在服务器上:
app.post('saveFile', function(req, res) {
// Write to file, I think received data is in req.body.data
});
在这里,我们创建了一个名为saveFile
的路由,它接收和响应POST
请求。您可以在这里将接收到的数据写入您的文件。
所以,你会有这样的东西:
app.post('saveFile', function(req, res) {
fs.writeFile("save.txt", req.body.data, function(err) {
if(err) {
return console.log(err);
}
console.log("The file was saved!");
res.end("This message will be sent back to the client!");
});
});
https://stackoverflow.com/questions/36654474
复制相似问题