[置頂] jQuery發送ajax請求,一次點擊重複提交

來源:互聯網
上載者:User

問題描述:
前台頁面

<input type="button" class="inputbutton" id="btnlogin" value="登入" />


show.js:

$("#btnlogin").click(function(){    $.ajax( {    url : "LoginAction",    type:"post",    dataType:"json",    data:"username="+userName,    timeout:20000,    success:function(){}  });});


點擊登入按鈕時,會重複提交資料。百思不得其解!
原因分析:
看了網友們的分析,有的說是“兩次提交的原因是在執行完ajax請求後,並沒有阻止submit的行為,解決方式是不使用type為submit類型的按鈕,而是使用type是button的按鈕”可是我用的就是type=button的按鈕啊,故此原因排除。還有網友說這是jQuery的Bug,經測試在我寫的程式裡的其他頁面也用到類似方法,並沒有發生這種現象,故此原因也排除。
後來經過一番摸索,終於找到了原因所在:
我是在本頁面(login.jsp)include 了(top.jsp),這兩個頁面中都引入了show.js:

<script type="text/javascript" src="js/show.js"></script>


這也就導致了引入兩次show.js檔案,所以會發生提交兩次的現象。我把top.jsp檔案中的

<script type="text/javascript" src="js/show.js"></script>


刪除後,再沒發生此種現象。至此,完美解決!

這次失誤提醒我:以後寫代碼一定要細心。

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.