Jquery Encoding.getJSON()API调用

Jquery Encoding.getJSON()API调用,jquery,ajax,api,encoding,jsonp,Jquery,Ajax,Api,Encoding,Jsonp,我正在开发一个web应用程序。这与Last.fm API有关。它工作正常,除非艺术家参数包含数字或不寻常的字符(例如,“U2”、“Ke$ha”等),否则如何正确编码参数 for (var item in billboard) { track = billboard[item]['song']; artist = billboard[item]['artist']; } $.getJSON("http://ws.audioscrobbler.

我正在开发一个web应用程序。这与Last.fm API有关。它工作正常,除非艺术家参数包含数字或不寻常的字符(例如,“U2”、“Ke$ha”等),否则如何正确编码参数

   for (var item in billboard) {
        track = billboard[item]['song'];
        artist = billboard[item]['artist'];
    } 
    $.getJSON("http://ws.audioscrobbler.com/2.0/?method=track.search&artist=" + artist + "&track=" + track + "&api_key=(myapikey)&format=json&callback=?", function(data) {
           try {
           var matches = data['results']['trackmatches']['track'][0]
           }
           catch(err) {
            returned = data['results']['opensearch:Query']['searchTerms']
            $('#album-display').find('ul').append(returned + "<br>")
           }
           artist = matches['artist']
           track = matches['name']
       });
    } 

var billboard = {
 "5-23-1987": {"artist": "U2", "song": "With Or Without You"},
 "10-15-1988": {"artist": "UB40", "song": "Red Red Wine"},
 "3-7-2009": {"artist": "Flo Rida Featuring Ke$ha", "song": "Right Round"},
 ...
}
for(广告牌中的var项目){
轨道=广告牌[项目]['song'];
艺术家=广告牌[项目][“艺术家];
} 
$.getJSON(“http://ws.audioscrobbler.com/2.0/?method=track.search&artist=“+artist+”&track=“+track+”&api_key=(myapikey)&format=json&callback=?”,函数(数据){
试一试{
var matches=data['results']['trackmatches']['track'][0]
}
捕捉(错误){
返回=数据['results']['opensearch:Query']['searchTerms']
$(“#相册显示”).find('ul').append(返回+“
”) } 艺术家=匹配项['artist'] track=匹配项['name'] }); } var广告牌={ “5-23-1987”:{“艺术家”:“U2”,“歌曲”:“有没有你”}, “10-15-1988”:{“艺术家”:“UB40”,“歌曲”:“红酒”}, 《3-7-2009》:{《艺术家》:《弗洛·里达》以柯元哈为特色,《歌曲》:《右回合》}, ... }
您需要在请求中转义URL,其中一些字符不合法或导致问题。改变

$.getJSON("http://ws.audioscrobbler.com/2.0/?method=track.search&artist=" + artist + "&track=" + track + "&api_key=(myapikey)&format=json&callback=?", function(data) {

var query = "method=track.search&artist=" + encodeURIComponent(artist) + "&track=" + encodeURIComponent(track) + "&api_key=(myapikey)&format=json&callback=?";
$.getJSON("http://ws.audioscrobbler.com/2.0/?" + query, function(data) {