網路服務與純 JavaScript 應用之 JSON 資料包裹解決方案, Google 的方式
我在 網路服務與純 JavaScript 應用之 JSON 資料包裹解決方案 提到的概念,其實最初也是在 Google 上看到這種概念。只是我那時寫著寫著,卻忘了 Google 的方式... 網友忘幽谷提醒才想起。
Google 查詢服務回傳的資料格式是它自家的 GData 文件 (GData uses either of two standard XML-based syndication formats: Atom or RSS) 。為了讓使用者能建立純 JavaScript 應用, Google 就提供了將 GData 資料內容改用 JSON 格式包裹在 JavaScript 程式碼中的服務方式。
Google 的方式
前文 (網路服務與純 JavaScript 應用之 JSON 資料包裹解決方案) 將 JSON 資料包裹在指派變數的程式碼。 Google 採用了更簡單的方式 (Google 的 GData APIs 以 Using JSON with Google Data APIs 所說的方式,讓使用者可以 JavaScript 建立網頁應用工具),其將 JSON 資料視為引數,傳遞給使用者指定的回呼函數 (callback) 。回呼函數的名稱需以查詢字串的方式添加在查詢服務的 URL 格式 (此時的 URL 格式不符合嚴謹的 REST 格式),例如:http://example.com/ID/bookmark.js?callback=queryHandler ,而查詢服務依使用者指定的函數名稱回傳下列程式碼:
對照前文最後一段範例程式碼,則使用者載入方式便是將回呼函數名稱添加在第10行 restJs.src 的 URL 之後,並且可以省去輪詢動作 (第13到21行) 。