我正在针对 Apple 的 iTunes 搜索 API 进行角度 $http.jsonp 调用,以从特定艺术家那里检索有关歌曲的数据。
对端点的正常获取请求将是
https://itunes.apple.com/search?callback=angular.callbacks._0&term=madonna+ghosttown
看到回调是由 $http.jsonp 引入的,它会正常工作。问题是,该调用对 url 进行编码并将 '+' 替换为 '%2B'。这会破坏 Api 并返回一个空数组。
调用将如下所示:
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);
});
我真的很感谢你在这里的帮助。干杯,本