2017-01-16 29 views
0

我有一個簡單的應用程序將json數組發佈到我的API中。我還有其他幾個正在成功運行的帖子。Angular 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] ]

和有效載荷的屏幕截圖:

Empty Payload

回答

0

1)$ http已經返回一個承諾,不需要使用$ q她。

2)使用這個syntaxe:$ HTTP(。),然後(sucess(),錯誤()):

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

我欣賞的指針,但它不會改變的問題或提供任何解決方案。 –

相關問題