特定のアーティストの曲に関するデータを取得するために、Apple の iTunes Search API に対して角度のある $http.jsonp 呼び出しを行っています。
エンドポイントへの通常の get リクエストは次のようになります。
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);
});
ここであなたの助けに本当に感謝します. 乾杯、ベン