【发布时间】:2015-09-19 23:18:10
【问题描述】:
我正在对 Apple 的 iTunes 搜索 API 进行 Angular 的 $http.jsonp 调用,以从特定艺术家那里检索有关歌曲的数据。
对端点的正常获取请求将是
https://itunes.apple.com/search?callback=angular.callbacks._0&term=madonna+ghosttown
看到回调是由 $http.jsonp 引入的,它会正常工作。问题是,该调用对 url 进行编码并将 '+' 替换为 '%2B'。这会破坏 Api 并返回一个空数组。
调用将类似于随后的 then:
https://itunes.apple.com/search?callback=angular.callbacks._0&term=madonna%2Bghosttown
如何强制 $http 不替换分隔搜索词的“+”? 以下代码块显示了我的调用。
$http.jsonp("http://itunes.apple.com/search", {
params: {
"callback": "JSON_CALLBACK",
"term": "madonna+ghosttown"
}
}).success(function (data, status, headers, config) {
console.log(data);
}).error(function (data, status, headers, config) {
console.log(data);
});
非常感谢您的帮助。 干杯, 本
【问题讨论】:
标签: angularjs xmlhttprequest itunes-search-api