【发布时间】:2012-02-25 13:50:36
【问题描述】:
我正在尝试重新发明 Last.FM 的曲目搜索,但在我的网站上并使用 jQuery 和 AJAX。所以我的想法是通过 Last.FM 的 JSON API 获取数据并传递文本输入元素数据。例如——用户输入“Rolling Stones Horses”并点击提交。 jQuery 会将“Rolling Stones Horses”传递到字符串http://ws.audioscrobbler.com/2.0/?method=track.search&track=Rolling%20Stones%20Horses&api_key=b25b959554ed76058ac220b7b2e0a026&format=json&callback= 中吗?然后它会将结果以
的形式输出到 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>
这里是超级新手!
【问题讨论】: