2017-01-16 1 views
0

json 배열을 내 API에 게시하는 간단한 앱이 있습니다. 나는 여러 다른 게시물을 성공적으로 작동합니다.각도 1 포스트에 빈 페이로드 보내기

내가 네트워크 트래픽을 조사했을 때 POST가 페이로드에 빈 배열을 보내고 있음을 발견했습니다.

요청이있을 때 변수에 데이터가 있습니다. 몇 번이나이를 확인했습니다.

요청 :

function postDemo(dp) { 
      var x = dp; 
      return $q(function (resolve, reject) { 
       $http({ 
        method: 'POST', 
        url: BASE + 'acl/newDemo', 
        data: x, 
        crossDomain: true, 
        contentType: 'application/json', 
        xhrFields: { 
         withCredentials: true 
        } 

       }) 
        .success(function (data, status) { 

         resolve(function() { 
          resolve(true); 
         }); 
        }) 
        .error(function (data, status) { 
         reject(false); 
        }); 
      }); 

     } 

var에 X가 배열을 포함하고 앞에서 언급 한 바와 같이 채워집니다. 문제는이 시점에서 오는 것으로 보인다. API가 올바르게 작동하고 아무 것도 실제로 전송되지 않기 때문에 데이터를 읽지 않는 것이 옳습니다.

콘텐츠 형식을 변경하려고했지만 그 차이가 없습니다.

배열은 $ scope에 있으며 POST가 수행 될 때 x 변수에서 고려되는 모든 값을 갖는 복합 개체를 출력합니다.

는 게시하기 전에 브라우저가 배열 값으로 보여주는 것입니다 :

X = [ billingAddress : 개체, billingDetails : 개체, 기업 : 개체, importCompany : 개체, importProfile : 배열 [0] ]

그리고 페이로드의 스크린 샷 :

답변

0

1) $ http는 이미 약속을 되 돌리며, $ q를 사용할 필요가 없습니다.)) (오류를 $ HTTP()을 (성공 (.) :

2)이 syntaxe를 사용

https://docs.angularjs.org/api/ng/service/가 $ HTTP

function postDemo(dp) { 
    return $http({ 
      method: 'POST', 
      url: BASE + 'acl/newDemo', 
      data: dp, 
      crossDomain: true, 
      contentType: 'application/json', 
      xhrFields: { 
       withCredentials: true 
      } 

     }).then(function successCallback(response) { 
      return true ; 
     }, function errorCallback(response) { 
      return false ; 
     }); 
} 
+0

내가 포인터를 감사하지만 문제가 변경되지 않습니다 또는 모든 솔루션을 제공하십시오. –