我正在尝试重新发明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>
Super newb here!
答案 0 :(得分:1)
这应该有用,虽然我觉得你在getJSON调用中缺少一个括号。