2016-07-15 102 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发送都是动态的,甚至更好。

相关问题