掌握Ajax,第9部分: 使用Google Ajax Search API

來源:互聯網
上載者:User

在非同步應用程式中使用公用 API

簡介:發出非同步請求並不意味著只是與您自己的伺服器端程式互動。其實也可以與一些公用 API,例 如來自 Google 或 Amazon 的 API 進行通訊,從而為 Web 應用程式增加您自己的指令碼和伺服器端程式所 不能提供的更多功能。在本文中,Brett McLaughlin 教您如何向公用 API,例如 Google 提供的 API 發 出請求並接收其響應。

到目前為止,這個系列只涉及到客戶機 Web 頁面向伺服器端指令碼和程式發出請求的情況。這就是大約 80% 到 90% 的 Ajax 應用程式(使用 XMLHttpRequest 對象的非同步 Web 應用程式)的工作方式。然而 ,這種方法有很嚴重的局限性:您將受到自己才智和編程技能的限制,就算不是這樣,最起碼也要受到公 司團隊中的程式員的才智和編程技能的限制。

有時候,您確實想實現一些功能,但是又不具備實現該目標所需的技術知識,幾乎總能遇到這種情況 。也許您不知道某些文法,也許不知道如何找出適當的演算法。還有些時候,您手頭上可能沒有用於滿足需 求的資料或資源(無論是人力資源還是資料資源)。在這些情況下,也許您會想:"唉,要是我能使用其 他人的代碼該多好啊!"本文就是要解決這個問題。

開放源碼指令碼和程式

在論述本文的實際內容(在 Web 應用程式中使用公用 API)之前,有必要說一說開放源碼指令碼和程式 。淺顯地講,開放源碼 是用於描述可以在一定程度上免費在您自己的應用程式中使用和重用的代碼的一 個術語。相關連結請參閱 參考資料。簡言之,您可以擷取別人編寫的開放源碼,然後將其放入自己的環 境中,而不必為之付費,也不會受到(很多)限制。

如果使用開放源碼,那麼有時候需要為應用程式增加額外的文檔,或者將您對開放源碼程式或指令碼作 出的更改反饋給社區。不管如何使用這種程式,最終結果就是,您可以使用這麼一塊代碼:該代碼是您不 必親自編寫的,或者,如果沒有大量的協助和資源的話,就無法編寫該代碼,而您手頭上並沒有這些資源 。諸如 Apache 之類的項目為利用他人完成的工作提供了方便 -- 不必擔心,他們還希望您使用他們的作 品呢!

線上文章和教程

如果在 IBM developerWorks 上發表文章,而又不提及 Internet 上的文章、教程、白皮書之類的大 量參考資料,這無疑很愚蠢。網上有成百上千份教材,您也許可以發現近千篇關於 Ajax 的文章 -- 在本 系列中,我就已經發表了近十篇文章!這些文章大部分都有可用的代碼、例子、下載以及其他各種類型的 資源。

如果您沒有能力編寫要使用的伺服器端程式或指令碼,或者找不到所需的開放源碼程式或指令碼,那麼可 以開啟 Google 網站,試著輸入對要找內容的基本描述。然後再在 developerWorks 網站上執行相同的操 作。您常常可以發現所需的代碼,甚至是整個指令碼,並且還有一些有協助的注釋和關於其工作方式的描述 。

使用公用 API

很多時候,您會遇到非技術問題。您不需要協助也能編寫某個指令碼或某段代碼,然而,手頭上卻沒有 所需的資料或資源。在這些情況下,即使有了教程或者開放源碼指令碼,也還需要更多的東西。例如,考慮 在 Web 頁面上增加一個搜尋引擎的情況。這樣做的前提是您已經有了要搜尋的資料 -- 但是,如果要搜 索您公司或組織以外的資料,那麼該怎麼辦呢?

如果不是因為技術上的原因,而是因為資料而受到限制,那麼,一個公用 API 也許可以協助您解決問 題。公用 API 允許使用其他人的伺服器上的程式並使用其他人的資料。通常,API 本身只定義如何與該 程式互動。例如,通過一個用於 Google 搜尋引擎的公用 API 可以發出搜尋請求,但是實際上是由 Google 的程式碼搜尋 Google 的資料,然後將結果返回給您的程式。您不僅可以利用他人在編寫這些程式 方面的技能,還可以利用遠遠超過您自己公司所能支援的資料。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.