JS中獲取contextPath的方法

2021-09-26 01:12:02 字數 1134 閱讀 9596

參考:

在jsp中可以通過 request.getcontextpath() 來獲取上下文的路徑,在freemarker中也可以通過 $ 獲取上下文路徑,但是在js中卻無法直接使用這些方式。

在js中獲取contextpath路徑的方法

方法一:

在jsp頁面中寫上這麼一段**:var $ctx = '<%=request.getcontextpath()%>';

然後在下方加上其他js檔案的引用:

$base 這個變數就能在其他js檔案中使用。

function c()
缺點:要寫乙個額外的script標籤。

方法二:

在被引用的js後面新增乙個引數,將上下文路徑傳進去,然後在js**中解析這個引數,得到上下文路徑:

然後在mine.js中開頭寫上這麼一句話: 

var js=document.scripts;

var url=js[js.length-1].src;

var $ctx=getquerystring(url,'ctx');

function getquerystring(url,name)

這裡面乙個非常重要的一點在於,如果頁面中有很多js引用,而mine.js無論插在開頭還是末尾亦或中間,var url=js[js.length-1].src;這一行**都能獲取到mine.js自身的url,這樣var ctx=$ctx;這一行**都能獲取到mine.js自身的$ctx。 

這其中的原因大致就是js從上到下解釋執行模式所帶來的乙個小福利了。

方法三:

使用 / 直接對url進行解析

function getcontextpath()
或者

//js獲取專案根路徑,如: http://localhost:8083/uimcardprj

function getrootpath()

這兩段**大同小異,都是用 / 對url進行分割,然後獲取網域名稱之後的第乙個路徑。這樣做有個問題,如果上下文路徑是 / 或者多層路徑,那解析出來的就是錯誤的,所以不推薦使用。

js獲取 mysql 屬性 JS中獲取資料庫中的值

在本次專案中,遇到很多問題,經過努力,都逐步得到解決。靜下心來,做乙個記錄,以供以後學習。在專案中遇到乙個問題,需要在js中讀取資料庫中的值,然後再把值返回到頁面中,解決方案如下 使用ajax方法來實現,需要用到ajax.dll 乙個ajax技術開發的幫助類庫 實施過程如下 1 引用ajax.dll...

js中獲取日期格式

1 varmydate new date 2document.write mydate.getyear tostring 獲取當前年份 2位 3document.write mydate.getfullyear tostring 獲取完整的年份 4位,1970 4document.write myd...

js中如何獲取時間

var mydate new date mydate.getyear 獲取當前年份 2位 mydate.getfullyear 獲取完整的年份 4位,1970 mydate.getmonth 獲取當前月份 0 11,0代表1月 mydate.getdate 獲取當前日 1 31 mydate.get...