免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Ajax支持的Google地圖Mashup教程(2)

Ajax支持的Google地圖Mashup教程(2)

作者: ,  出處:Dev2Dev, 責(zé)任編輯: 葉江, 
2007-06-13 14:59
  本文中將使用工具輕松構(gòu)建終極的Hello World mashup:Google地圖mashup……
 

  最后,還需提到的JavaScript 功能就是向后端服務(wù)器發(fā)出帶外 HTTP 請(qǐng)求。通過此功能, JavaScript 可以發(fā)出不會(huì)導(dǎo)致頁(yè)面重載或改變?yōu)g覽器地址欄的請(qǐng)求。該功能通常被稱為Ajax,但是實(shí)現(xiàn)該功能的實(shí)際上是XMLHttpRequest,它是調(diào)用 HTTP 請(qǐng)求的JavaScript 類。HTTP 請(qǐng)求通常是異步的,這要求編程人員定義一個(gè)回調(diào)函數(shù),在接收響應(yīng)時(shí)調(diào)用。

var request = new XMLHttpRequest();
function invokeAjax() {
        request.open("GET", ‘a(chǎn)jaxTarget.html‘, true);
        request.onreadystatechange = ajaxCallback;
        request.send(null);    
}

function ajaxCallback() {
  // check if response is complete, then do stuff      
}

  我先討論在mashup 應(yīng)用程序中使用到的 XMLHttpRequest 功能的一個(gè)主要限制,然后才能討論該功能。

  為了保護(hù)用戶免受惡意代碼編寫者的攻擊,所有瀏覽器都實(shí)現(xiàn)了一個(gè)安全功能。Same Origin Policy 防止XMLHttpRequest以返回頁(yè)面的服務(wù)器所在的網(wǎng)絡(luò)域之外的服務(wù)器為目標(biāo)發(fā)送請(qǐng)求。例如,如果用戶瀏覽 http://www.bea.com/ajaxPage.html,該頁(yè)面上的 JavaScript 代碼則不能將XMLHttpRequest 到 http://www.evil.com/stealCookies.html。雖然該安全功能能夠保護(hù)用戶,但是它限制了 JavaScript ?客戶端程序在mashup 應(yīng)用程序中的作用,mashup 應(yīng)用程序需要使用來自多個(gè)域的服務(wù)。然而,兩種資源類型不受這一策略的限制:頁(yè)面可以跨域下載圖片和腳本。通過JavaScript 將參數(shù)追加到這些資源請(qǐng)求中,一些實(shí)現(xiàn)解決了這一限制。

  輕量級(jí)服務(wù)

  調(diào)用遠(yuǎn)程服務(wù)的功能是企業(yè)分布式架構(gòu)的基礎(chǔ),例如面向服務(wù)的架構(gòu)(Service Oriented Architecture ,SOA)。Web服務(wù)技術(shù)(例如 SOAP)被廣泛應(yīng)用于創(chuàng)建企業(yè)內(nèi)的可重用服務(wù)。這些實(shí)現(xiàn)效果很好,但是在一些情況下SOAP 未免有些大材小用。特別在客戶端是瀏覽器時(shí),需要一個(gè)輕量級(jí)的解決方案。

  一種構(gòu)建稱為 REST 的輕量級(jí)服務(wù)的方法開始流行,在Web 2.0 應(yīng)用程序中這種方法應(yīng)用得尤為普遍。 REST 提供了一種構(gòu)建 HTTP 可尋址服務(wù)的干凈模型,從瀏覽器可以很容易地調(diào)用該服務(wù)。對(duì)于REST 的完整學(xué)術(shù)定義不適合本教程,我總結(jié)了幾個(gè)要點(diǎn):

  •   REST 服務(wù)表示為一個(gè)URL,通過基本的 HTTP 請(qǐng)求訪問,例如http://bea.com/content/getArticles?author=joe。
  •   HTTP 動(dòng)詞很重要: GET 是讀操作, POST 是創(chuàng)建,PUT 更新服務(wù)。
  •   返回的有效負(fù)載通常是XML 或 JSON。

  將 REST 的含義解釋得更清楚可將會(huì)引起爭(zhēng)議,因此以上概括已經(jīng)足夠。

  還需要進(jìn)一步解釋最后一個(gè)要點(diǎn)。以上列出了兩種流行格式作為返回的有效負(fù)載:XML 和 JSON 。似乎可以選擇 XML,它在全世界應(yīng)用廣泛。而 REST 服務(wù)可以返回XML,客戶端 JavaScript 代碼需要遍歷返回的 XML 的DOM ,來提取所需信息。這當(dāng)然可以,但是對(duì)于瀏覽器中的客戶端程序是JavaScript 的情況來說,還可以選擇另一種格式。JavaScript 對(duì)象標(biāo)志(JavaScript Object Notation ,JSON)是一種 JavaScript 對(duì)象序列化格式,它減少了客戶端的工作??蛻舳丝梢酝ㄟ^調(diào)用將返回的JSON 文本反序列化成一個(gè)本機(jī) JavaScript 對(duì)象,然后可以使用JavaScript 語(yǔ)法操縱JavaScript 對(duì)象。這通常是個(gè)簡(jiǎn)單的方法,因此對(duì)于 Web 2.0 應(yīng)用程序使用的 REST 服務(wù)來說,JSON 很流行。

  下面是一個(gè)序列化格式的 JSON 對(duì)象示例:

{"location":   
        {"id":  "WashingtonDC",                
         "city": "Washington DC",                      
         "venue": "Hilton Hotel, Tysons Corner",
         "address": "7920 Jones Branch Drive"
        }
}

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Ajax 技術(shù)匯總
Ajax工作原理及概述
探求網(wǎng)頁(yè)同步提交、ajax和comet不為人知的秘密(上篇)
BlogJava - eamoi之Coder日志
WCF與AJAX編程開發(fā)實(shí)踐(1):AJAX基礎(chǔ)概念和純AJAX示例
ajax
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服