js,全稱javascript,不過雖然是以java開頭,不過與java一點關系都沒有。
js和java有如下差別:
(1)js是浏覽器端的語言,而java是伺服器端的語言。
(2)js是動态語言,java是靜态語言。
(3)java是基于面向對象的程式設計語言,而js雖有對象這個概念,但是隻是基于對象而不能直接繼承;
這裡要提一點動态和靜态是什麼意思?
簡單的說,動态就是不需要編譯就能執行,而靜态需要編譯執行。
現在比較流行的就是前後端分離,如果用純html開發+js擷取背景資料,那麼路徑又怎麼獲得的呢?
既然是浏覽器,那不得不提一個web開發最基礎也最重要的東西,HTTP協定。
這裡我要引用一位朋友的話:
HTTP請求具有如下特點:
(1)簡單快速:客戶向伺服器請求服務時,隻需傳送請求方法和路徑。請求方法常用的有GET、HEAD、POST。每種方法規定了客戶與伺服器聯系的類型不同。由于HTTP協定簡單,使得HTTP伺服器的程式規模小,因而通信速度很快。
(2)靈活:HTTP允許傳輸任意類型的資料對象。正在傳輸的類型由Content-Type加以标記。
(3)無連接配接:無連接配接的含義是限制每次連接配接隻處理一個請求。伺服器處理完客戶的請求,并收到客戶的應答後,即斷開連接配接。采用這種方式可以節省傳輸時間。
(4)無狀态:HTTP協定是無狀态協定。無狀态是指協定對于事務處理沒有記憶能力。缺少狀态意味着如果後續處理需要前面的資訊,則它必須重傳,這樣可能導緻每次連接配接傳送的資料量增大。另一方面,在伺服器不需要先前資訊時它的應答就較快。
(5)支援B/S及C/S模式。
這裡還不得不提一個概念:
HTTP請求中的URL
HTTP使用統一資源辨別符(Uniform Resource Identifiers, URI)來傳輸資料和建立連接配接。URL是一種特殊類型的URI,包含了用于查找某個資源的足夠的資訊
URL,全稱是UniformResourceLocator, 中文叫統一資源定位符,是網際網路上用來辨別某一處資源的位址。以下面這個URL為例,介紹下普通URL的各部分組成:
從上面的URL可以看出,一個完整的URL包括以下幾部分:
(1)協定部分:該URL的協定部分為“http:”,這代表網頁使用的是HTTP協定。在Internet中可以使用多種協定,如HTTP,FTP等等本例中使用的是HTTP協定。在"HTTP"後面的“//”為分隔符
(2)域名部分:該URL的域名部分為“www.yc520.com”。一個URL中,也可以使用IP位址作為域名使用
(3)端口部分:跟在域名後面的是端口,域名和端口之間使用“:”作為分隔符。端口不是一個URL必須的部分,如果省略端口部分,将采用預設端口
(4)虛拟目錄部分:從域名後的第一個“/”開始到最後一個“/”為止,是虛拟目錄部分。虛拟目錄也不是一個URL必須的部分。本例中的虛拟目錄是“/news/”
(5)檔案名部分:從域名後的最後一個“/”開始到“?”為止,是檔案名部分,如果沒有“?”,則是從域名後的最後一個“/”開始到“#”為止,是檔案部分,如果沒有“?”和“#”,那麼從域名後的最後一個“/”開始到結束,都是檔案名部分。本例中的檔案名是“index.asp”。檔案名部分也不是一個URL必須的部分,如果省略該部分,則使用預設的檔案名
(6)錨部分:從“#”開始到最後,都是錨部分。本例中的錨部分是“name”。錨部分也不是一個URL必須的部分
(7)參數部分:從“?”開始到“#”為止之間的部分為參數部分,又稱搜尋部分、查詢部分。本例中的參數部分為“boardID=5&ID=24618&page=1”。參數可以允許有多個參數,參數與參數之間用“&”作為分隔符。
下面我們進入正題,如何通過js擷取項目路徑?
如下js代碼即可擷取:
window.οnlοad=function(){
getPath();
}
function getPath(){
var pathName = document.location.pathname;
var index = pathName.substr(1).indexOf("/");
var result = pathName.substr(0,index+1);
$("#path").val(result);
}
關于js這部分,我将在後續寫一個連載系統篇為大家詳細介紹和講解js。一來分享心得,二來總結。