js 裡不能使用${pageContext.request.contextPath}解決方案

言曌發表於2018-03-17

在 JSP 頁面中通常我們使用 ${pageContext.request.contextPath} 來獲得當前專案的根目錄。

但是我們在 js 檔案裡是無法使用這個。

  1. function checkUsername() {
  2.     $.ajax({
  3.         async: false,
  4.         type: "POST",
  5.         url: '/admin/user/isUsernameExisted',
  6.         data: {"username": $("#username").val()},
  7.         dataType: "json",
  8.         success: function (data) {
  9.             if(data.code == 1) {
  10.                 //$.alert('使用者名稱已存在', '警告');
  11.                 return false;
  12.             }
  13.         },
  14.         error: function () {}
  15.     })
  16.     return false;
  17. }

 

上面的例子的 URL 中的 / 表示根目錄,通常我們會使用 ${pageContext.request.contextPath} 來獲得根目錄(包括專案名稱),但是在 js 檔案裡不能使用。

所以,我們可以採取一種方法。

解決方法

在 jsp 或 html 頁面裡,加一段程式碼

  1. <input id="PageContext" type="hidden" value="${pageContext.request.contextPath}" />

在 js 裡可以使用 $("#PageContext").val() 來表示 ${pageContext.request.contextPath}

 

現在 url 就可以這樣寫了

  1. url: $("#PageContext").val()+'/admin/user/isUsernameExisted',

 


相關文章