从$ http发送JSON数据到Node JS Express的restful服务

时间:2016-02-05 21:05:38

标签: json node.js

将数据从Angular js发送到使用express的节点js restful服务的最佳方法是什么。我的Angular js代码如下: -

var myController = function("myController", $scope) {
$http.get("/someUrl", {key1:"value1", key2: "value2"}).then(function(response) { alert(response.data);});

在节点js端: -

app.get("/someUrl", function(req, res) {console.log(req.body);});

我可以看到console.log正在显示{}。有没有办法发送json输入为get。

顺便说一下,我使用了快速模块的Nodejs,我使用了body-parser并设置了所需的所有其他东西。

我正在使用Angularjs 1.4和Nodejs表达4。

2 个答案:

答案 0 :(得分:1)

您可以同时使用$resource$http。使用$resource,您可以利用REST API的一致性,因为它将使用熟悉的结构来构建端点,因此有一点魔力。

使用$resource

var Dog = $resource('/dogs/:dogId', { dogId :'@id' });

var fido = new Dog({ name: "Fido" });
fido.$save();

// POST to /dogs/ with data: { name: "Fido" }

$http您更明确。您可以发送如下数据:

$http({
    method: "get",
    url: "...",
    params: {
        key1: "value1",
        key2: "value2"
    }
});

就像这样:

$http({
    method: "post",
    url: "...",
    data: {
        key1: "value1",
        key2: "value2"
    }
});

答案 1 :(得分:1)

现在在您的节点服务器中

app.get("/someUrl", function(req, res) {console.log(req.body);});

试试这个

app.get("/someUrl", function(req, res) {console.log(req.body.key1);});