如何在ajax调用中发送包含多部分数据的对象数组

时间:2017-04-24 12:52:06

标签: jquery angularjs ajax

您好我想在ajax post方法中发送如下数据。

Object Array

目前我正在发送这样的数据。

var data = {
            album_name: $scope.album_name,
            album_description: $scope.album_description,
            category_id: category,
            artist_id: $scope.artist_id,
            album_image: ($scope.image == "" || $scope.image == null) ? "-1" : $scope.image,
            song_files: JSON.$scope.inputs
        };

            method: 'POST',
            url: api_path+"album_add",      
            dataType: 'JSON',   //you may use jsonp for cross origin request
            headers: { 'Content-Type': undefined ,'Authorization': auth_token},
            data:  data,
            transformRequest: function (data) {
                var formData = new FormData();
                angular.forEach(data, function (value, key) {
                    if(value || value === '') {
                        if ($.isArray(value)) {
                            for(var i in value) {
                                formData.append(key+'[]' , value[i] )
                            }
                        }
                        else{
                            formData.append(key, value);
                        }
                    }
                });
                // var headers = headersGetter();
                return formData;
            }

这里的数据中的song_files是我的对象数组,其中包含我在图像中显示的值,包括标题,描述,图像文件和音频文件。 当我发送此请求时,它以[object object]格式发送数据我无法获得如[{title:1,descrption:test,file:file,image:image},{title:2,descrption: test,file:file,image:image}]这种格式。

0 个答案:

没有答案