如何通过节点服务器将JSON对象写入文件?

无情3

我在前端使用Angular,并尝试将JSON对象写入与index.html相同目录中的名为“ post.json”的文件。我可以使用PHP使其工作,但我想知道如何使用Node.js。我在线上看了很多帖子,但也许我不了解http POST的实际工作原理以及服务器需要从Angular应用程序写入文件的哪些设置。如何从Angular应用程序写入文件以及节点服务器需要哪些设置?

Angular文件中的代码:

// Add a Item to the list
$scope.addItem = function () {

    $scope.items.push({
        amount: $scope.itemAmount,
        name: $scope.itemName
    });

    var data = JSON.stringify($scope.items);

    $http({
        url: 'post.json',
        method: "POST",
        data: data,
        header: 'Content-Type: application/json'
    })
    .then(function(response) {
        console.log(response);
    }, 
    function(response) {
        console.log(response);
    });

    // Clear input fields after push
    $scope.itemAmount = "";
    $scope.itemName = "";
};

这是节点服务器文件:

var connect = require('connect');
var serveStatic = require('serve-static');
connect().use(serveStatic(__dirname)).listen(8080);

fs = require('fs');
fs.open('post.json', 'w', function(err, fd){
    if(err){
        return console.error(err);
    }
    console.log("successful write");
});

然后,我得到这个错误:

在此处输入图片说明

奥康尼

这是使用Express.js框架的Node.js服务器的示例(以防您不限于'connect')。

var express = require('express');
var app = express();
var fs = require('fs');

app.get('/', function (req, res) {
  res.send('Hello World!');
});

app.post('/', function (req, res) {
  fs.writeFile(__dirname+"/post.json", req.body, function(err) {
    if(err) {
       return console.log(err);
    }
    res.send('The file was saved!');
  }); 
});

app.listen(8080, function () {
  console.log('Example app listening on port 8080!');
});

在您的角度控制器中,明确指定网址:

 $http({
    url: 'http://localhost:8080',
    method: "POST",
    data: data,
    header: 'Content-Type: application/json'
})

编辑:

body-parser为简化起见,删除了中间件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

通过TCP套接字将音频写入服务器

向节点中的文件写入服务器请求

剥离文件并通过TCP同时将大块写入服务器显示断开的管道错误

通过节点服务器连接到MongoDB的警告

通过节点代理服务器运行的基于Socket.io的应用程序在一个断开连接时断开所有套接字

如何在节点中通过mongojs将.json文档插入mongo服务器

如何从厨师服务器以json的形式获取所有节点对象?

如何将JSON数据从节点js脚本发送到其他服务器上的HTML文件

我正在通过节点js将sqlite3查询结果作为json发送到浏览器

如何通过节点js将子节点添加到现有json文件中?

如何将JSON对象发布到服务器?

通过节点名称字段中的键将Jackon JSON转换为对象

React:写入json文件或导出/下载[无服务器]

如何将JavaScript对象发送到节点服务器

使用Express在节点服务器上接收JSON对象

Scrapyd:将CSV文件写入远程服务器

将文件从远程服务器写入本地目录?

启动节点服务器时解析json对象

如何在Android中通过POST将复杂的JSON对象发布到服务器?

通过节点中间人将表单数据发送到Java服务器

如何将文本写入服务器端文件

如何防止 Cron 任务在服务器上写入文件?

如何通过节点js服务器将Json对象发送到express-handlebars html?

如何在节点服务器上创建结构对象?

如何使用 ftplib 写入远程服务器上的文件

如何将文本文件 (txt) 写入我的 ftp 服务器?

如何通过节点应用程序获取远程 linux 服务器上的剩余磁盘空间

如何使用 Jenkinsfile 将文件从 Jenkins 代理节点复制到远程服务器

如何使用表单中的内容将文件写入我的服务器?