将表单数据写入json文件 - javascript

时间:2016-04-15 18:31:53

标签: javascript jquery json node.js

我一直在摸不着头脑。我计划使用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

1 个答案:

答案 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