Angular多个参数,作为字符串传递给nodejs

时间:2017-11-27 09:13:33

标签: javascript angularjs node.js

我正在使用角度&的NodeJS。 从角度我传递多个参数到控制器&然后到节点执行但它作为字符串传递在名称 - 值削减值,如:{"jobCarrierName":"rmg"} 我只需要它的价值,即" rmg"。

<button style="width: 100%; margin-bottom: 5%;" title="Create File"
                        ng-click="createFile_Request({jobCarrierName : row.Carrier},{jobFileType : row.filetype})">
                    <strong>Create</strong></button>




$scope.createFile_Request = function (jobCarrierName, jobFileType) {

            $scope.jobName = jobCarrierName;
            $scope.jobFile = jobFileType;

            $http({
                method: 'GET',
                url: '../fileCreate/',
                params: {"carrier": $scope.jobName, "filetype": $scope.jobFile},
                headers: {'Content-Type': 'application/json'}
            })
                .success(function (data, status) {
                    alert(data.toString());
                   console.log("File Create Response");
                })
                .error(function (data, status) {
                    alert("Error in Creating File");
                });
        };

的NodeJS

app.get("/fileCreate", function (req, res){

    var carrier = req.query.carrier;
    var filetype = req.query.filetype;

1 个答案:

答案 0 :(得分:0)

我认为你必须像这样解析你的查询字符串:

app.get("/fileCreate", function (req, res){
    req.query = JSON.parse(req.query);
    var carrier = req.query.carrier;
    var filetype = req.query.filetype;

修改

或者也许在你的AngularJS文件中,你必须像这样设置你的jobName:

$scope.jobName = jobCarrierName.jobCarrierName;

希望它有所帮助。