在routesjs / expressjs路线之间传递数据

时间:2016-03-21 12:12:46

标签: javascript angularjs forms express

我有一个表单,当我提交表单时,会显示另一个表单,其中单选按钮是其他数据。我选择一个并提交。我希望数据显示在另一个页面中,但它不会显示我所做的任何事情。

所以有/ form路由,我希望在最后一次提交后使用我的数据重定向/确认路由。

Bellow是我在angularjs中的formController

.controller('formController', ['$scope', '$http', '$location', function($scope, $http, $location) {
    $scope.pageClass = 'form';
    $scope.firstName = '';
    $scope.lastName = '';
    $scope.email = '';
    $scope.departure = '';
    $scope.destination = '';
    $scope.submitFirstForm = function() {
        $http.post('/form', {
            firstName: $scope.firstName,
            lastName: $scope.lastName,
            email: $scope.email,
            departure: $scope.departure,
            destination: $scope.destination,
        }).then(function(res) {
            $scope.response = res.data;
            });
        }

    $scope.submitConfirmationForm = function(flight){

        $http.post('/confirmation', {
            departure: $scope.departure,
            destination: $scope.destination
        }).then(function(res) {
            $scope.otherResponse = res.data;
            $location.path("/confirmation");
            });

    };
}]);

Bellow是我的快速发布功能仅适用于/ CONFIRMATION路线

    app.post("/confirmation",function(req,res)
{
    var departure=req.body.departure;
    var destination=req.body.destination;

    otherResponse = {
        "confirmation": [{
            "departure": departure,
            "destination": destination,
            "msg": "MSG OK",
        }]
    };

    res.json(otherResponse);
});

最后,请关注我的confirmation.html以查看我的json otherReponse发生了什么

 <pre>
    {{otherResponse | json}}
</pre>

1 个答案:

答案 0 :(得分:0)

你没有传递'价值',你需要做这样的事情:

$ location.path('/ confirm /')。search({param:'otherResponse'});

$ location方法是可链接的。

这个产品:

/确认/?PARAM = otherResponse

查看$location

的文档