js 裡不能使用${pageContext.request.contextPath}解決方案
阿新 • • 發佈:2019-01-30
在 JSP 頁面中通常我們使用 ${pageContext.request.contextPath} 來獲得當前專案的根目錄。
但是我們在 js 檔案裡是無法使用這個。
- function checkUsername() {
- $.ajax({
- async: false,
- type: "POST",
- url: '/admin/user/isUsernameExisted',
- data: {"username": $("#username").val()},
- dataType: "json",
- success: function (data) {
- if(data.code == 1) {
- //$.alert('使用者名稱已存在', '警告');
- return false;
- }
- },
- error: function () {}
- })
- return false;
- }
上面的例子的 URL 中的 / 表示根目錄,通常我們會使用 ${pageContext.request.contextPath} 來獲得根目錄(包括專案名稱),但是在 js 檔案裡不能使用。
所以,我們可以採取一種方法。
解決方法
在 jsp 或 html 頁面裡,加一段程式碼
- <input id="PageContext" type="hidden" value="${pageContext.request.contextPath}" />
在 js 裡可以使用 $("#PageContext").val() 來表示 ${pageContext.request.contextPath}
現在 url 就可以這樣寫了
- url: $("#PageContext").val()+'/admin/user/isUsernameExisted',