我一直在摸不着头脑。我计划使用Electron进行桌面应用程序。因此,我正在使用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>
在script.js文件的提交按钮上设置了一个jQuery事件处理程序:
$(document).ready(function(){
var text;
$('form').submit(function( event ) {
text = $( this ).serializeArray();
console.log( text );
event.preventDefault();
});
});
如何从表单中获取文本并写入JSON文件(可以在应用程序关闭并重新打开时再次读取)。
有这样的问题和答案:Writing files in 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
答案 0 :(得分:1)
在客户端:
",␠"
因此,您可以使用$(document).ready(function(){
var text;
$('form').submit(function( event ) {
text = $( this ).serializeArray();
// Send data to server
$.post('/saveFile', {data: text});
event.preventDefault();
});
});
请求发送数据。详细了解jQuery.post()
在服务器上:
AJAX
在这里,我们创建了一个名为app.post('saveFile', function(req, res) {
// Write to file, I think received data is in req.body.data
});
的路由,用于接收和响应saveFile
个请求。您可以在此处将收到的数据写入您的文件。
所以,你会有这样的事情:
POST