日本好好热aⅴ|国产99视频精品免费观看|日本成人aV在线|久热香蕉国产在线

  • <cite id="ikgdy"><table id="ikgdy"></table></cite>
    1. 西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
      軟件
      軟件
      文章
      搜索

      首頁編程開發(fā)javascript|JQuery → 當(dāng)jsp文件放在某個文件夾下時jquery的.ajax方法失效的解決方案

      當(dāng)jsp文件放在某個文件夾下時jquery的.ajax方法失效的解決方案

      相關(guān)軟件相關(guān)文章發(fā)表評論 來源:櫻花樹下的家時間:2010/3/16 17:28:23字體大。A-A+

      作者:佚名點(diǎn)擊:433次評論:1次標(biāo)簽: ajax

      • 類型:編程控件大。6.8M語言:中文 評分:2.5
      • 標(biāo)簽:
      立即下載

       我的頁面的代碼如下,jquery-1.4.2.min.js導(dǎo)入沒有問題,本來這個文件和jquery-1.4.2.min.js是放在webroot目錄下的,可以正常運(yùn)行。
      但是我把這兩個文件一起放在一個名為test的文件夾下后$.ajax(...)就像沒有執(zhí)行一樣,服務(wù)器端一點(diǎn)反應(yīng)都沒有(根本就沒有訪問TestServlet),瀏覽器的地址欄里只是在路徑的末尾加了個#號,沒有什么變化,也就是說,頁面只是調(diào)回本頁面而已。 alert("in test");和alert("end");都被執(zhí)行了,就是中間的$.ajax沒有執(zhí)行
      <head>
      <script Charset="UTF-8" type='text/javascript' src='jquery-1.4.2.min.js'></script>
      <script type="text/javascript">
      $(document).ready(function() {
      var age=0;
      alert("in test");
      $("a").click(function() {
      alert("click");
      $.ajax({
      type: "GET",//http請求方式
      url: "TestServlet",//服務(wù)器端url地址
      data: "name=weager"+"&age="+age,//發(fā)送給服務(wù)器端的數(shù)據(jù)
      dataType: "json",//告訴JQuery返回的數(shù)據(jù)格式(例如xml、json、jsonp、script等)
      success: callback //當(dāng)請求操作完成數(shù)據(jù)正確返回時調(diào)用callback函數(shù)。此處的ajax參數(shù)還可以有:complete、success、error。complete是指readystate==4時;success是指state==200時;error是指相應(yīng)出錯或者解析服務(wù)器數(shù)據(jù)出錯。
      //error: function(data){alert(data);}
      });
      alert("end");
      });
      });

      function callback(data){
      alert("call back 被調(diào)用!")
      alert(data.age);
      $("div").html(data.age);
      }
      </script>

       

      網(wǎng)上有關(guān)這個得問題很少,由于頁面上沒喲什么變化、服務(wù)器又沒有任何反應(yīng),$.ajax方法又不是自己寫的,所以找bug非常困難。后來迫不得已,只有把調(diào)試深入到j(luò)query里,但是jquery-1.4.2.min.js里沒有換行,調(diào)試和查看代碼很困,于是我下載了一個uncompressed版的jquery-1.4.2.js來替換jquery-1.4.2.min.js。然后用ie8調(diào)試(firebug也可以),調(diào)試到5179行查看xhr對象的responseText屬性才發(fā)現(xiàn)服務(wù)器端的報錯為404(...test/TestServlet is not avalible),這才知道是服務(wù)器再找Servlet的時候找不到匹配的url。

      于是我把web.xml里的url-pattern改為了test/TestServlet就可以了,但是test文件夾外的jsp文件訪問相同的Servlet時卻出了想類似的錯,這時我才想起來,要把jsp頁面里的basePath設(shè)置一下(basePath作用就是設(shè)置該頁面的路徑的前綴),就可以去掉url上的文件夾名了。

      具體方法如下:

      1. web.xml文件里url-pattern不需要改動,保持原來的就可以了

      2. 在<html>前面加上:

      <%
      String path = request.getContextPath();
      String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
      %>
      3. 在<head></head>里添加:<base href="<%=basePath%>"> (base標(biāo)簽設(shè)置了該頁面里其他路徑的前綴)

       

      OK~~搞定了,只要能找到報錯就容易解決問題,最怕的就是看不到報的錯,運(yùn)行又不正常!

        相關(guān)評論

        閱讀本文后您有什么感想? 已有人給出評價!

        • 8 喜歡喜歡
        • 3 頂
        • 1 難過難過
        • 5 囧
        • 3 圍觀圍觀
        • 2 無聊無聊

        熱門評論

        最新評論

        發(fā)表評論 查看所有評論(1)

        昵稱:
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)