昨天在調試一個項目效果的時候,死活出不來,用chrome調試一下,發現報了一個錯誤:Uncaught SyntaxError: Unexpected token <,我定位到jsp文件以後發現定位的位置是個人html頭文件聲明:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">,我點了其餘頁面發現沒有報這個錯誤,通過一番對比驗證,找到問題,出問題的頁面應用的動態js文件:<script type="text/javascript" src="${_contextPath}/${detailjs}"></script>,其中的datailjs沒有找到,(是我粗枝大葉忘記配置了),致使了相應的錯誤,可是我不知足於此,想知道問題根本緣由,
我用chrome調試錯誤頁面查看js代碼:javascript
- <script type="text/javascript" src="/aabbcc/"></script>
<script type="text/javascript" src="/aabbcc/"></script>
我想可能就是引用js源文件路徑不全形成的,我又作了一個實驗,我手動在jsp頁面代碼添加了以下的一個js引用;
- <script type="text/javascript" src="/aaa/"></script>
<script type="text/javascript" src="/aaa/"></script>
而後chrome調試,報錯以下:
- GET http://hello.cas.server:9080/aaa/ 404 (Not Found)
GET http://hello.cas.server:9080/aaa/ 404 (Not Found)
,並非如標題上的Uncaught SyntaxError: Unexpected token <,這又另我很費解,通過一番思考後,我發現了一個現象,頁面我引用以下js:
- <script type="text/javascript" src="${_contextPath}/${detailjs1}"></script>
- <script type="text/javascript" src="/aaa/"></script>
<script type="text/javascript" src="${_contextPath}/${detailjs1}"></script>
<script type="text/javascript" src="/aaa/"></script>
生成頁面:html
- <script type="text/javascript" src="/BOSS_NQCP_MANAGE/"></script>
<script type="text/javascript" src="/BOSS_NQCP_MANAGE/"></script>
- <script type="text/javascript" src="/aaa/"></script>
<script type="text/javascript" src="/aaa/"></script>
chrome報錯結果:java
- GET http://hello.cas.server:9080/aaa/ 404 (Not Found)
- index.do:20Uncaught SyntaxError: Unexpected token <
GET http://hello.cas.server:9080/aaa/ 404 (Not Found)
index.do:20Uncaught SyntaxError: Unexpected token <
你們發現問題了沒,我是後引用的/aaa/,可是確實先報的它的錯,着就說明了一個問題,就是jsp頁面會先處理靜態的引用頁面,也就是說引用文件的地址不是動態參數的頁面,chrome
而後我又用真實存在的項目路徑作了測試,測試js:app
- <script type="text/javascript" src="/BOSS_NQCP_MANAGE/resource/"></script>
<script type="text/javascript" src="/BOSS_NQCP_MANAGE/resource/"></script>
生成頁面:
- <script type="text/javascript" src="/BOSS_NQCP_MANAGE/resource/"></script>
<script type="text/javascript" src="/BOSS_NQCP_MANAGE/resource/"></script>
此次chrome報錯結果就是標題同樣了,
我得出的結論以下:當js引用的文件是項目路徑下的文件夾時,會報這個錯誤.