2016-07-15 139 views
0

我正在嘗試向我的服務器發送郵寄請求。當我使用郵遞員我收到正確的數據如下enter image description here發送正確的郵件請求

現在我想在我的角度項目發送從工廠這個請求:

var data = [ 
     { 
      "id": 6155335970855059712, 
      "userId": 2, 
      "instagramId": "0x4d_ehdi_wm", 
      "searchId": "mehdiketabdar", 
      "mediaId": null, 
      "phoneNumber": "09368640183", 
      "name": "mehdi", 
      "date": 1467546456287, 
      "otherData": [ 
      ] 
     } 
]; 

var req = { 
     method: 'POST', 
     url: 'http://atitec.ddns.net:2500/admin_api/', 
     headers: { 
      'Content-Type': 'application/json' 
     }, 
     data: data 
    }; 
request.url = req.url + "mGetListOfOrders"; 
$http(request); 

但我看到下面在我的控制檯錯誤:

OPTIONS http://atitec.ddns.net:2500/admin_api/mGetListOfOrders網:: ERR_EMPTY_RESPONSE

+1

看起來你犯了一個未處理的[飛行前檢查](http://stackoverflow.com/questions/8685678/cors-how-do-preflight-an-httprequest)。 – Ankh

+0

@Ankh我認爲這不是問題。因爲CORS問題解決了,我插入了用於解決服務器代碼的代碼片段 –

回答

1

我想你需要字符串化您的數據:

var req = { 
    method: 'POST', 
    url: 'http://atitec.ddns.net:2500/admin_api/', 
    headers: { 
     'Content-Type': 'application/json' 
    }, 
    data: JSON.stringify(data) 
}; 
request.url = req.url + "mGetListOfOrders"; 
$http(request); 
0

最簡單的發送請求的方法是通過工廠。創建一個RestFactory.js文件並嘗試像下面提到的那樣做。

var commonFactories = angular.module('commonFactories', []); 

commonFactories.factory('yourFactoryApiName', function($http) { 

    var anyObj = {}; 
    yourFactoryApiName.yourMethodName = function(dataObj) { 
    return $http.post('yourAPIURL', dataObj); 
    } 
return anyObj; 
)}; 

注入commonFactories依賴於UR app.js並在項目的任何地方使用該服務。如果你可以使它對所有POST Api發送都是動態的,甚至更好。