使用jQuery AJAX跟踪search Last.fm JSON API

使用jQuery AJAX跟踪search Last.fm JSON API,jquery,ajax,json,last.fm,Jquery,Ajax,Json,Last.fm,我正在尝试重新发明Last.FM的跟踪搜索,但在我的网站上使用jQuery和AJAX。因此,我的想法是通过Last.FM的JSON API获取数据源,并传递文本输入元素数据。例如,用户将输入“滚石马”并单击提交。jQuery会将“滚石马”传递到字符串中吗?然后它会将结果输出到HTML中,如下所示 <P> ARTIST NAME - TRACK </P> 艺术家姓名-曲目 我试图拼凑搜索表单、AJAX和getJSON是如何协同工作的。以下是我目前掌握的情况: <b

我正在尝试重新发明Last.FM的跟踪搜索,但在我的网站上使用jQuery和AJAX。因此,我的想法是通过Last.FM的JSON API获取数据源,并传递文本输入元素数据。例如,用户将输入“滚石马”并单击提交。jQuery会将“滚石马”传递到字符串中吗?然后它会将结果输出到HTML中,如下所示

<P> ARTIST NAME - TRACK </P>

艺术家姓名-曲目

我试图拼凑搜索表单、AJAX和getJSON是如何协同工作的。以下是我目前掌握的情况:

<body>
   <form action="/wphmusic/" id="searchForm">
   <input type="text" name="s" placeholder="Search..." />
   <input type="submit" value="Search" />
   </form>

   <div id="result"></div>

<script type="text/javascript">

$("#searchForm").submit(function(event) {

event.preventDefault(); 

var $form = $( this ),
    term = $form.find( 'input[name="s"]' ).val(),
    url = $form.attr( 'action' );
});

var fmurl = 'http://ws.audioscrobbler.com/2.0/?method=track.search&track=' + url + '&api_key=b25b959554ed76058ac220b7b2e0a026&format=json&callback=?';
$.getJSON(fmurl, function(data) {
    var html = '';
    $.each(data.results.trackmatches.track, function(i, item) {
        html += "<p>" + item.name + " - " + item.artist + "</p>";
});
    $('#result').append(html);

</script>
</body>

$(“#搜索表单”).submit(函数(事件){
event.preventDefault();
var$form=$(此),
term=$form.find('input[name=“s”]”)。val(),
url=$form.attr('action');
});
var fmurl=http://ws.audioscrobbler.com/2.0/?method=track.search&track=“+url+”&api_key=b25b959554ed76058ac220b7b2e0a026&format=json&callback=?”;
$.getJSON(fmurl,函数(数据){
var html='';
$.each(data.results.trackmatches.track,函数(i,项){
html+=“”+item.name+”-“+item.artist+”

”; }); $('#result').append(html);

这里是超级新手!

这应该行得通,尽管在我看来,您的getJSON调用中缺少了一个括号。

这应该行得通,尽管在我看来,您的getJSON调用中缺少了一个括号。

您还应该使用类似encodeURIComponent()的东西对传递到url字符串中的数据进行编码。您还应该使用类似encodeURIComponent()的方法对传递到url字符串中的数据进行编码。