js 里不能使用${pageContext.request.contextPath}解决方案

在 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',
   

发表评论

目前评论:1