【发布时间】:2016-04-02 00:19:45
【问题描述】:
我正在编写一个 angular-1.5.0-rc0 应用程序
在这个应用程序中,我创建了 FormData,用值填充它,我需要使用 $http 请求发送它。现在我使用带有以下代码的 jquery ajax:
this.addDrink = function () {
var data = new FormData();
var drinkBrand = caller.drink.drinkBrand;
var drinkType = caller.drink.drinkType;
var drinkFlavor = caller.drink.drinkFlavor;
var liquidColor = caller.drink.liquidColor;
var drinkCompany = caller.drink.drinkCompany;
var liquidIsTransparent = caller.drink.liquidIsTransparent;
var drinkImage = caller.drink.drinkImage;
var caloriesFor100g = caller.drink.caloriesFor100g;
var alcoholSum = caller.drink.alcoholSum;
var alcoholSumType = caller.drink.alcoholSumType;
data.append('alcohol_sum_type', alcoholSumType);
data.append('drink_brand', drinkBrand);
data.append('drink_type', drinkType);
data.append('drink_flavor', drinkFlavor);
data.append('liquid_color', liquidColor);
data.append('liquid_is_transparent', liquidIsTransparent);
data.append('drink_image', drinkImage);
data.append('drink_company', drinkCompany);
data.append('calories_for_100g', caloriesFor100g);
data.append('alcohol_sum', alcoholSum);
$.ajax({
url: 'https://api.myalcoholist.com:8888/drink',
data: data,
processData: false,
contentType: false,
type: 'POST',
success: function (data) {
if (!data.success) {
alert(data.data);
} else {
alert('done');
}
}
});
};
如您所见,我将 processData 和 ContentType 设置为 false,以便能够在 jquery ajax 调用中发送 FormData。用 $http 怎么办?
【问题讨论】:
-
感谢@AnikIslamAbhi,但似乎该示例用于发送 json 数据。我想发送 FormData,因为我还要附加图像
-
您可以使用一些第三方库来促进文件上传,即
ng-file-upload。
标签: javascript angularjs angular-http