【问题标题】:How to pass a value from one page to another in MEAN?如何在 MEAN 中将值从一个页面传递到另一个页面?
【发布时间】:2015-05-22 18:21:28
【问题描述】:

角度查看代码:

<button class="btn btn-primary"  ng-click="edit(obj._id)">Edit</button>

Angular 控制器代码:

$scope.edit=function(id) {
    console.log('edit() called........');
    console.log(id);
    $http.get('/findEmp/',$scope.e).success(function(response) {
        $scope.e = response; 
    });
}

Node Js 服务器代码:

app.get('/findEmp/:id',empCtrl.findEmp1);

节点控制器代码:

module.exports.findEmp=function(req,res){
    var id=req.params.id;
    console.log(id);
    emp.find({'_id':id},function(err,results){
        console.log('result: '+results);
        res.json(results);
    });
}

我无法使用此代码将页面重定向到另一个页面。

我正在尝试...将对象传递给角度控制器,该控制器将发送到节点控制器,节点控制器将找到并发送响应,我想通过此响应重定向我的页面进行编辑。

【问题讨论】:

    标签: javascript angularjs node.js mean-stack meanjs


    【解决方案1】:

    您可以使用 $location 服务重定向:

    $location.path( "/findEmp" );
    

    如果路径依赖于一些响应数据:

    $location.path( "/findEmp/" + response.id );
    

    编辑: 404问题可能是因为url应该是“/findEmp/”+id。

    您可以使用简单的 getter/setter 工厂在页面之间保存数据。像这样的:

    services.factory('someFactory', function () {
        var data;
        return {
            set: function (d) { data = d; },
            get: function () { return data; }
        };
    });
    

    【讨论】:

    • 我已经更新了答案,检查响应是否有 id 属性,也许有 _id 什么的?你能写出响应的输出是什么吗?
    • 其实问题出在这里: $http.get('/findEmp/',$scope.e) 没有“/findEmp/”的url,所以你应该把id放在那里。您可以保存从服务端获取的数据,也可以在更改页面后获取。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-04
    • 1970-01-01
    • 1970-01-01
    • 2021-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多