2014-02-22 76 views
2

我想學習如何正確使用AJAX和RESTful API,並且當我得到這個想法時,像驗證這樣的事情的實際執行有點讓人困惑。尤其令人沮喪的是,像Last.FM或TVRage.com這樣的站點上的文檔都沒有列出代碼示例,我覺得這些代碼示例可以幫助我很多。任何人都可以提供訪問此Last.FM API的代碼示例嗎?

如果有人使用Last.FM API特別是可以給出一個快速代碼示例 - 對於任何他們的方法 - 我真的很感激它。

現在,我試圖根據their instructions對自己進行身份驗證。

首先,命令所有的參數名稱在呼叫發送字母的參數和使用<name><value>方案它們串聯成一個字符串構造你的API方法簽名。

A <name><value>計劃?像,<apikey><keyitself>?然後,我在通過身份驗證時做了什麼,以某種方式將會話存儲了一個小時,然後刷新或在每次通話中進行身份驗證?我只是沒有得到具體的如何實際執行它...

+0

您是否嚴格試圖通過桌面應用程序或網站連接到他們的API? – HarbyUK

回答

6

如果你看看API文檔,你會看到左側導航菜單上的方法列表(讓我們把這個artist.getInfo在這個例如 - http://www.last.fm/api/show/artist.getInfo)。

現在,爲了進行調用,您需要向restful Web服務發出一個AJAX請求,然後這個請求會返回給您一個XML或JSON響應。爲了測試這個,你可以建立一個查詢並查看響應。

http://ws.audioscrobbler.com/2.0/?method=artist.getinfo&artist=After+The+Burial&api_key=57ee3318536b23ee81d6b27e36997cde&format=json

如果您嘗試此鏈接,你會看到數據的JSON表示。如果您查看我答案開始時提供的API鏈接,則可以開始嘗試一些可選參數。下一個要解決的問題是如何使AJAX調用本身。

如果您按照本指南進行操作,它將向您展示製作AJAX調用How to make an AJAX call without jQuery?的JavaScript和jQuery方法。在我的例子,我們將使用上面詳述的相同的參數進行POST請求方法:

$.ajax({ 
    type : 'POST', 
    url : 'http://ws.audioscrobbler.com/2.0/', 
    data : 'method=artist.getinfo&' + 
      'artist=After+The+Burial&' + 
      'api_key=57ee3318536b23ee81d6b27e36997cde&' + 
      'format=json', 
    dataType : 'jsonp', 
    success : function(data) { 
     // Handle success code here 
    }, 
    error : function(code, message){ 
     // Handle error here 
    } 
}); 

當你打的成功回調,該「數據」參數表示已解析爲JavaScript對象JSON響應。

這裏是一個的jsfiddle我已經演示了Web服務調用的執行last.fm:

http://jsfiddle.net/zvsrF/6/

只要確保拿到自己的API密鑰,並重構成功回調比我的例子要優雅得多。

相關問題