新聞中心
現(xiàn)在REST是一個比較熱門的概念,REST已經(jīng)成為一個在Web上越來越常用的應用,基于REST的Web服務越來越多,包括Twitter在內(nèi)的微博客都是用REST做為對外的API,先前我曾經(jīng)介紹過“基于REST架構(gòu)的Web Service設計”,并給出了一些服務器端和客戶端代碼,隨著JavaScript的廣泛應用,我這里就給出一個輕量級的基于JavaScript的REST客戶端框架。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:空間域名、虛擬空間、營銷軟件、網(wǎng)站建設、蓋州網(wǎng)站維護、網(wǎng)站推廣。
這個JavaScript客戶端主要使用了XMLHttpRequest對象來實現(xiàn)通過HTTP對服務器操作GET、PUT、POST和DELETE以檢索和修改資源。值得注意的是,由于安全方面的考慮,Javascript被限制了跨域訪問的能力,因此在調(diào)用XMLHttpRequest的時候,應該注意跨域訪問的問題,比如使用同一個域的動態(tài)文件做代理,或者其他方法避開跨域訪問的問題。我這里給出的代碼主要是根據(jù)我先前的那段代碼修改過來的,其客戶端JavaScript代碼如下所示:
- function httpGet(url, method, data) {
- var xmlhttp;
- xmlhttp = new XMLHttpRequest();
- xmlhttp.open (method, url + "?" + data, false);
- xmlhttp.setRequestHeader ("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
- xmlhttp.setRequestHeader ("Content-Length", data.length);
- xmlhttp.send (null);
- if (xmlhttp.Status = 200) return xmlhttp.responseText;
- }
- function httpPost(url, method, data) {
- var xmlhttp;
- xmlhttp = new XMLHttpRequest();
- xmlhttp.open (method, url, false);
- xmlhttp.setRequestHeader ("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
- xmlhttp.setRequestHeader ("Content-Length", data.length);
- xmlhttp.send (data);
- if (xmlhttp.Status = 200) return xmlhttp.responseText;
- }
- function httpPut(url, method, data) {
- var xmlhttp;
- xmlhttp = new XMLHttpRequest();
- xmlhttp.open (method, url, false);
- xmlhttp.setRequestHeader ("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
- xmlhttp.setRequestHeader ("Content-Length", data.length);
- xmlhttp.send (data);
- if (xmlhttp.Status = 200) return xmlhttp.responseText;
- }
- function httpDelete(url, method, data) {
- var xmlhttp;
- xmlhttp = new XMLHttpRequest();
- xmlhttp.open (method, url + "?" + data, false);
- xmlhttp.setRequestHeader ("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
- xmlhttp.setRequestHeader ("Content-Length", data.length);
- xmlhttp.send (null);
- if (xmlhttp.Status = 200) return xmlhttp.responseText;
- }
- function test() {
- document.write (httpGet("http://localhost/rest/service.asp", "GET", "do=GET"));
- document.write (httpGet("http://localhost/rest/service.asp", "POST", "do=POST"));
- document.write (httpGet("http://localhost/rest/service.asp", "PUT", "do=PUT"));
- document.write (httpGet("http://localhost/rest/service.asp", "DELETE", "do=DELETE"));
- }
我這里使用這個代碼編寫了一個簡單的應用例子,就是管理Twitter好友的應用,大家點這里可以下載使用,因為跨域訪問的問題,這段JavaScript只支持IE在本地使用。
【編輯推薦】
- 如何優(yōu)化JavaScript腳本的性能
- JavaScript控制Excel打印完美解決方案
- 用Javascript連接Access數(shù)據(jù)庫的方法
- JavaScript的document和window對象詳解
- 淺談JavaScript中面向?qū)ο蠹夹g(shù)的模擬
當前名稱:基于JavaScript的REST客戶端框架
當前路徑:http://m.5511xx.com/article/codpesh.html


咨詢
建站咨詢
