我想解构这个网址
此作品
$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==', }
});
答案 0 :(得分:0)
在帖子上使用url params很笨拙。传统上像你这样的数据存在于体内,通常是url编码的,但无论如何应该与表示编码的标题相匹配。
请参阅:HTTP POST with URL query parameters -- good idea or not?
答案 1 :(得分:0)
我认为你误解了$http.post是如何运作的。试试这个:
$http({params: { country: "Usa", city: "NewYork" },
headers: {'Authorization': 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==' }})
$http.post('http://mysrv:8080/calc?');
答案 2 :(得分:0)
这是docs的正确语法。
$http.post('/someUrl', data, config).then(successCallback, errorCallback);
所以对你的例子来说:
$http.post('/someUrl', null, {
params: { country: "Usa", city: "NewYork" },
headers: {'Authorization': 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==' }
});
但正如其他人所说 - 由于你没有向服务器发布任何数据,为什么要使用.post
?
答案 3 :(得分:0)
使用类似的东西。
$http({
method: 'post',
url : "https://myserver.com/api/v1/name",
data : {
fname : "Senthil",
lname : "Kumar"
}
headers: {
'Authorization': 'Basic token_hash'
}
});