2016-06-09 37 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' 
    } 
});