2016-06-09 39 views
1

我要解构这个网址

这个作品

$http.post('http://mysrc:8080/calc?country=Usa&city=NewYork', { 
      {'Authorization': 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==' } 
}); 

使用PARAMS insted的

这不起作用

$http.post('http://mysrv:8080/calc?', { 
        params: { country: "Usa", city: "NewYork" }, 
        headers: {'Authorization': 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==', } 
       }); 
+1

为什么要在没有数据的情况下使用POST? 'params'用于GET – charlietfl

+0

'$ http.get('http:// mysrv:8080/calc',{params:{country:'Usa',city:'NewYork'},标题:{'Authorization':'基本QWxhZGRpbjpvcGVuIHNlc2FtZQ =='}});'这是否工作? – shamsup

+0

@ShamSUP我不认为问题是“?”因为任何额外的问号将作为文字交易... ... http://stackoverflow.com/questions/2924160/is-it-valid-to-have-more-than-one-question-mark-in-a- url – watashiSHUN

回答

0

我想你误会了怎么$http.post作品。试试这个:

$http({params: { country: "Usa", city: "NewYork" }, 
     headers: {'Authorization': 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==' }}) 
$http.post('http://mysrv:8080/calc?'); 
0

这是从docs正确的语法。

$http.post('/someUrl', data, config).then(successCallback, errorCallback); 

因此,对于你的例子:

$http.post('/someUrl', null, { 
       params: { country: "Usa", city: "NewYork" }, 
       headers: {'Authorization': 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==' } 
      }); 

但正如其他人所说 - 因为你没有任何数据发布到服务器,为什么要用.post

0

使用类似这样的东西。

$http({ 
    method: 'post', 
    url : "https://myserver.com/api/v1/name", 
    data : { 
     fname : "Senthil", 
     lname : "Kumar" 
    } 
    headers: { 
     'Authorization': 'Basic token_hash' 
    } 
});