【问题标题】:FormData empty after append追加后FormData为空
【发布时间】:2017-02-09 09:05:07
【问题描述】:

我正在使用 Ionic 的每个人我都尝试将文件发送到我的服务器,但是当我在控制台检查时,表单数据在追加后仍然为空,同样认为我发现它为空并且没有插入数据我的数据库。

PS: 我使用了很多输入文件。

这是控制器:

.controller('perProfil', function($scope, annonceService, TDCardDelegate, $timeout, $http, $rootScope) {
  $scope.data = {}

  $scope.uploadedCin = function(element) {
    $scope.$apply(function($scope) {
      var files = element.files;
      $rootScope.cin = files[0];
    })
  }

  $scope.uploadedbultin = function(element) {
    $scope.$apply(function($scope) {
      var files = element.files;
      $rootScope.bult = files[0];
      $rootScope.FormData.append("bult", files[0]);
    })
  }

  $scope.uploadedavis = function(element) {
    $scope.$apply(function($scope) {
      var files = element.files;
      $rootScope.avis = files[0];
    })
  }

  $scope.uploadedCertif = function(element) {
    $scope.$apply(function($scope) {
      var files = element.files;
      $rootScope.certif = files[0];
      console.log($rootScope.certif);
    })
  }

  $scope.uploadedFile = function(element) {
    var url = 'http://localhost/documents?token=' + localStorage.getItem("token");

    console.log($rootScope.FormData);
    var fd = new FormData(this);

    fd.append("file", JSON.stringify($rootScope.cin));
    fd.append("butin", $rootScope.bult);
    fd.append("avis", $rootScope.avis);
    /fd.append("certifScol",$rootScope.certif);

    var data = {
      "idUser": "name",
      "type": "type"
    }

    fd.append("data", JSON.stringify(data));
    console.log(fd);

    $http.post(url, fd, {
        headers: {
          'Content-Type': 'multipart/form-data'
        },
        transformRequest: angular.identity
      })
      .success(function(data) {
        console.log(data);
      })
      .error(function(data) {
        console.log(data);
      })
  }
})

【问题讨论】:

  • 当仅使用 console.log(formData) 记录 formData 对象时,它总是返回空,因为您无法记录 formData。也请分享你的html

标签: javascript angularjs ionic-framework http-post


【解决方案1】:

根据the answer here:...

var formData = new FormData(form); for (var [key, value] of formData.entries()) { console.log(key, value);} //or console.log(...formData)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-06
    • 1970-01-01
    • 2017-09-09
    • 2023-03-14
    • 2021-08-22
    • 2020-10-02
    相关资源
    最近更新 更多