记录或警告时,FormData对象为空

时间:2016-05-24 06:45:17

标签: jquery angularjs summernote

我正在使用AngularJS和angular-summernote作为编辑。 我的HTML:

{{msg}}

<form id="sampleForm" ng-submit="sendFormData()" enctype="multipart/form-data">
    <label>Text:</label>
    <summernote height="300" ng-model="summerNoteText" on-image-upload="imageUpload(files)"></summernote><br><br>


    <label>Text box:</label>
    <input type="text" name="normaltext">
    <input type="hidden" name="summernotetext" value="{{summerNoteText}}">


    <button type="submit">
        Submit
    </button>

</form>

此页面的控制器:

'use strict';

angular.module('postTestbench')

    .controller('MainFormController', ['$scope', function($scope) {
        $scope.msg = "submit nigga";

        $scope.imageUpload = function (files) {
            var data = new FormData($('form')[0]);
            data.append('file', files[0]);

            console.log(data);
        };
    }]);

你能告诉我这里有什么问题吗?我搜索过jquery和开发人员mozilla的文档,他们建议使用相同的代码。

我只想从summernote上传图片,并希望从服务器获取图片网址, 但FormData对象数据显示为空。

更新

配置文件,我将控制器分配给此页面:

'use strict';

angular.module('postTestbench', ['ngRoute', 'summernote'])

    .config(function($routeProvider) {
        $routeProvider

        .when('/', {
            templateUrl: 'pages/sampleForm.html',
            controller: 'MainFormController'
        })

        .otherwise({
            redirectTo: '/'
        })
    })

;

1 个答案:

答案 0 :(得分:0)

也许您的data不为空,只需通过formData.entries正确检查。

FormData Docs

  

FormData.entries()方法返回一个迭代器,允许遍历此对象中包含的所有键/值对。每对的关键是USVString对象;值USVString或Blob。

以下是检查表单数据的方法:

var data = new FormData($('form')[0]);
data.append('file', files[0]);

for (var [key, value] of data.entries()) {
    console.log(key, value);
}