У меня есть служба Angular 1.4, которая делает запрос API MapQuest. Если я передаю свой API-ключ как часть URL-адреса напрямую, он работает, однако, если я добавлю его как часть поля params
, то это не так.
Рабочие:
var url = 'http://open.mapquestapi.com/geocoding/v1/address?key=Gmjtd%7Cluub2d08nh%2C2s%3Do5-2u2gh4';
$http.get(url);
// Key actually sent
Gmjtd%7Cluub2d08nh%2C2s%3Do5-2u2gh4
Не работает:
var url = 'http://open.mapquestapi.com/geocoding/v1/address';
$http.get(url, {
params: {
key: 'Gmjtd%7Cluub2d08nh%2C2s%3Do5-2u2gh4'
}
});
// Key actually sent
Gmjtd%257Cluub2d08nh%252C2s%253Do5-su2gh4
Не работает либо:
var url = 'http://open.mapquestapi.com/geocoding/v1/address';
$http.get(url, {
params: {
key: encodeURIComponent('Gmjtd%7Cluub2d08nh%2C2s%3Do5-2u2gh4');
}
});
// Key actually sent
Gmjtd%25257Cluub2d08nh%25252C2s%25253Do5-2u2gh4
Оказывается, что передача ключа в params
поле заставляет его пройти какое-то процесса кодирования, что делает его недействительным.
Как сохранить исходный ключ при использовании метода params
?