ajax form提交的問題

來源:互聯網
上載者:User

簡介:這是ajax form提交的問題的詳細頁面,介紹了和php,有關的知識、技巧、經驗,和一些php源碼等。

class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=332634' scrolling='no'>
連續兩晚時間,一直在尋找一個問題,同一樣的資料,同一樣的方法(前後台均一樣),只是瀏覽器不一樣,一個是IE6,一個是FF及chrome,但問題偏偏就是在IE6下,ajax提交後,參得到正常的傳回值及資料。另兩個就老是返回一個錯誤。還有就是在IE下能將新增或修改後的內容能正常的全部提交了,在FF,chrome下反而就變成了有些通提交成功,有些提交不成功,並返回錯誤的提示呢?

請看代碼:

<form><div id="tree" style="width:280px; float:left; height:528px; background-color:#f5f5f5;border :1px solid Silver; overflow:auto;"></div>  <input type="hidden" value="" id="id" name="id"/>  <input type="hidden" name="pid" id="pid" value="0" />  <input type="hidden" value="{$tablename}" name="tablename" id="tablename">  <dl class="lineD">  <dt>名稱:</dt>  <dd><input type="text" id="names" name="names" value="" /></dd>  <p>顯示在前台的欄目名稱,如首頁,新聞等...</p>  </dl>.... <div class="page_btm">    <button class="btn_b" style="margin-left:200px; *margin-left:60px;" onclick="submits()" >提交</button> </div> </form>
var param = [         { name : 'names', value : $("#names").val() },         { name : 'id', value : id },         { name : 'pid', value : pid },         { name : 'code', value : $("#code").val() },];$.ajax({   type: "POST",   timeout: 2000,   dataType: "json",   url: "{:U('Global/doAjaxSave')}",   data: param,      error: function(text){       alert("error: "+text.info);       window.location.reload();      },     success: function(text){            alert(text.info);      window.location.reload();       }          });

後台那邊就是一個儲存操作,方法是共用的。這個背景方法在別的模組下是能正常啟動並執行,也就是說後台部分問題,問題就在前台了。將HTML裡的代碼一行一行的刪除測試,也是一樣的錯誤提示,後來在IE下反覆點了幾次提交,突然發現視窗重新整理了兩次。有一次是reload()是重新整理是正常的。但還有一次呢?

js代碼刪行的試,試過了,那就只有HTML了,刷了兩次,那是不是就意味著提交了兩次呢?查看了一下HTML,覺得沒什麼問題呀,只有兩行<form>...</form>,為什麼有這兩行的呢?刪了,再試。至此,問題元兇找出來了。

想了一下,可能是ajax用的是post提交方式,而頁面又有一個from表單,故此,可能是在提交的時候從頁觸發了兩次提交。所以就一直都出現這種奇奇怪怪的問題了。不過更令人想不通的是,當初為什麼在加多一個<form>的標籤上去呢?.....杯具,鬱悶.......

“ajax form提交的問題”的更多相關文章 》

愛J2EE關注Java邁克爾傑克遜視頻站JSON線上工具

http://biancheng.dnbcw.info/php/332634.html pageNo:11

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.