使用angularjs http服务发送formdata

时间:2016-05-21 06:51:41

标签: angularjs

我必须提交用户表单数据。我使用ajaxSubmit完成了这项工作,但它在我的应用程序中添加了一个新的JS文件。我想通过使用angularjs http服务来完成这项工作。我的问题是,通过使用ajaxSubmit我需要发送userId id请求正文,表单数据由ajaxSubmit方法itselft处理。我只想以ajaxSubmit正在进行的方式发送数据。

HTML

<form role="form" action="profile_pic">
        <div class="cover-50 pull-left pos-relative upload-photo">
        <input type="file" onchange="angular.element(this).scope().uploadProfilePic(this)" accept="images/*" capture>
        <label>Upload Media</label>
        </div>
</form>

控制器

 $scope.uploadProfilePic = function(){
     $http({
     'method': 'POST',
      'url': /upload/user/image,
      'data': {
       'userId' : 457
      },
 });

// $form.ajaxSubmit({
   //     type : 'POST',
   //     url : '/upload/user/image',
   //     data : {
   //     'userId' : 457
   //     }
   //    });
}

1 个答案:

答案 0 :(得分:0)

您可以使用FormData()附加要通过$http帖子发送的其他媒体资源。

var data = new FormData();
data.append('userId', 457);
data.append('file', uploadFileUrl);
data.append('abc', "XYZ");

return $http.post('/upload/user/image', data, {
   transformRequest: angular.identity,
   headers: { 'Content-Type': undefined }
 }).then(function (results) {
  //results.data       
});