首页 > 解决方案 > 使用 $http.post() 以“FormData”形式传递图像和其他数据时出现问题

问题描述

我在以FormData.

我尝试了不同的方法:

  1. var payload = new FormData;和数据是 payload.append('fees', $scope.fees); payload.append('lat', $scope.lat); payload.append('lon', $scope.lon); payload.append('mer_icon', preIconUrl);
$http.post("APIUrl",payload,{
  headers: {'Content-Type': undefined},
  transformRequest: angular.identity
}
)
.then(function(response) {
  console.log(" response: %j ",response);
  if (response.data.success == 1) {
                     // success
                     console.log("success 1 response: %j ",response);
                     console.log("success 1 response.data: %j ",response.data);

                 } else if (response.data.success == -1){
                  console.log("success 0 response.data: %j ",response.data);
                 }else{
                  console.log("success 0 response.data: %j ",response.data);
                 }

             }),
function(response){
  console.log(" fail response.data: %j ",response.data);
}

payload(FormData)当我使用浏览器控制台打印时,它可以工作。但是在服务器端image data(mer_icon)我得到了undefined.

2. 使用headers: { 'Content-Type': 'multipart/form-data'},抛出多部分边界错误。

3.没有标题的方法,undefined我在服务器端得到的和我得到的第一种方法一样。

标签: javascriptangularjs

解决方案


推荐阅读