ajax form提交的问题

简介:这是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="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
原文地址:https://www.cnblogs.com/ooooo/p/2249328.html