如何在请求中发送额外数据?

时间:2017-02-09 13:10:07

标签: angularjs node.js

我想在http请求中发送itemId。怎么做以及我在服务器上要看什么?

这里是请求:

var fd = new FormData();
var itemId = scope.vm.item._id;

fd.append('file', scope.files[0]);
$http.post('http://localhost:8090/file-upload', fd, {
   transformRequest: angular.identity,
   headers: {
      'Content-Type': undefined
   }
});

服务器

 app.post('/file-upload', function(req, res, next) {
console.log("received file");
var pathFile = ' ';
var wId = "itemId";

var storage = multer.diskStorage({
    destination: function (req, file, callback) {
        callback(null, './uploads/attachments');
        pathFile = file.originalname;
    },
    filename: function (req, file,itemId, cb) {
        cb(null, file.originalname);
        console.log(itemId);

    }
});
var upload = multer({ storage : storage }).single('file');
upload(req,res,function(err) {

    if(err) {
        return res.end("Error uploading file.");
    }

    //save file path in work items doc.attachments
    var path = './uploads/attachments/'+pathFile;

res.end("File is uploaded");
});

添加服务代码。如何在服务器端获取itemId?

3 个答案:

答案 0 :(得分:1)

有几种方法你可以做到这一点,你可以在你的帖子选项中设置params属性,并传入一个id为属性的对象。

    var fd = new FormData();
    var itemId = scope.vm.item._id;

    fd.append('file', scope.files[0]);
    $http.post('http://localhost:8090/file-upload', fd, {
             transformRequest: angular.identity,
                    headers: {'Content-Type': undefined},
                    params: {id: itemId}

                });

答案 1 :(得分:0)

您可以将JSON字符串附加到FromData对象,如下所示。

fd.append(' params',JSON.stringify({itemId:itemId}));

在服务器端,您将获得params键中的JSON字符串。

答案 2 :(得分:0)

简单地在参数中添加参数并传递所有参数。



    <script>
    $(document).ready(function () {
    $("#1").change(function () {
     var val = $(this).val();
    if (val == "A") {
    $("#2,#3,#4,#5,#6,#7,#8,#9,#10").html("<option value='B'>B</option><option value='C'>C</option><option value='D'>D</option><option value='E'>E</option><option value='F'>F</option><option value='G'>G</option><option value='H'>H</option><option value='I'>I</option><option value='J'>J</option>");
    } else if (val == "B") {
    $("#2,#3,#4,#5,#6,#7,#8,#9,#10").html("<option value='A' >A</option><option value='C'>C</option><option value='D'>D</option><option value='E'>E</option><option value='F'>F</option><option value='G'>G</option><option value='H'>H</option><option value='I'>I</option><option value='J'>J</option>");
    } else if (val == "C") {
    $("#2,#3,#4,#5,#6,#7,#8,#9,#10").html("<option value='A'>A</option><option value='B'>B</option><option value='D'>D</option><option value='E'>E</option><option value='F'>F</option><option value='G'>G</option><option value='H'>H</option><option value='I'>I</option><option value='J'>J</option>");
    } else if (val == "D") {
    $("#2,#3,#4,#5,#6,#7,#8,#9,#10").html("<option value='A' >A</option><option value='B'>B</option><option value='C'>C</option><option value='E'>E</option><option value='F'>F</option><option value='G'>G</option><option value='H'>H</option><option value='I'>I</option><option value='J'>J</option>");
    } else if (val == "E") {
    $("#2,#3,#4,#5,#6,#7,#8,#9,#10").html("<option value='A' >A</option><option value='B'>B</option><option value='C'>C</option><option value='D'>D</option><option value='F'>F</option><option value='G'>G</option><option value='H'>H</option><option value='I'>I</option><option value='J'>J</option>");
    } else if (val == "F") {
    $("#2,#3,#4,#5,#6,#7,#8,#9,#10").html("<option value='A' >A</option><option value='B'>B</option><option value='C'>C</option><option value='D'>D</option><option value='E'>E</option><option value='G'>G</option><option value='H'>H</option><option value='I'>I</option><option value='J'>J</option>");
    } else if (val == "G") {
    $("#2,#3,#4,#5,#6,#7,#8,#9,#10").html("<option value='A' >A</option><option value='B'>B</option><option value='C'>C</option><option value='D'>D</option><option value='E'>E</option><option value='F'>F</option><option value='H'>H</option><option value='I'>I</option><option value='J'>J</option>");
    } else if (val == "H") {
    $("#2,#3,#4,#5,#6,#7,#8,#9,#10").html("<option value='A' >A</option><option value='B'>B</option><option value='C'>C</option><option value='D'>D</option><option value='E'>E</option><option value='F'>F</option><option value='G'>G</option><option value='I'>I</option><option value='J'>J</option>");
    } else if (val == "I") {
    $("#2,#3,#4,#5,#6,#7,#8,#9,#10").html("<option value='A' >A</option><option value='B'>B</option><option value='C'>C</option><option value='D'>D</option><option value='E'>E</option><option value='F'>F</option><option value='G'>G</option><option value='H'>H</option><option value='J'>J</option>");
    } else if (val == "J") {
    $("#2,#3,#4,#5,#6,#7,#8,#9,#10").html("<option value='A' >A</option><option value='B'>B</option><option value='C'>C</option><option value='D'>D</option><option value='E'>E</option><option value='F'>F</option><option value='G'>G</option><option value='H'>H</option><option value='I'>I</option>");
    }
    // end of ("#1").change JQUERY Function
    });
    //end of .ready JQuery Function
    });   

    </script>

希望这适合你。