form提交和 纯粹的ajax的提交是有区别的
普通的form提交可在表单元素上加上name="obj.list[0].name" 即可提交到后台
但是$.ajax 提交方式不同了
例如
$.ajax({ type: "post", async:false, url:'http://localhost', data:{ id:8813, name:'9990000', aList: [ { name:'sdf' }, { name:'sdf2' }, { name:'sdf3' } ] } , success: function(data){ // dosomething } })
在network里看看有这样一个信息
Form Data
解决这个方法需要从jquery 解决,这应该算是jquery封装ajax的一个bug
解决方法1 扩展jquery的方法,在$.param的基础上修改一句话即可
代码如下:
(function($) { // copy from jquery.jsvar r20 = /%20/g, rbracket = /\[\]$/; $.extend({ customParam: function( a ) { var s = [], add = function( key, value ) { // If value is a function, invoke it and return its value value = jQuery.isFunction( value ) ? value() : value; s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value ); }; // If an array was passed in, assume that it is an array of form elements.if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { // Serialize the form elements jQuery.each( a, function() { add( this.name, this.value ); }); } else { for ( var prefix in a ) { buildParams( prefix, a[ prefix ], add ); } } // Return the resulting serializationreturn s.join( "&" ).replace( r20, "+" ); } }); /* private method*/function buildParams( prefix, obj, add ) { if ( jQuery.isArray( obj ) ) { // Serialize array item. jQuery.each( obj, function( i, v ) { if (rbracket.test( prefix ) ) { // Treat each array item as a scalar. add( prefix, v ); } else { buildParams( prefix + "[" + ( typeof v === "object" || jQuery.isArray(v) ? i : "" ) + "]", v, add ); } }); } elseif (obj != null && typeof obj === "object" ) { // Serialize object item.for ( var name in obj ) { buildParams( prefix + "." + name, obj[ name ], add ); } } else { // Serialize scalar item. add( prefix, obj ); } }; })(jQuery);
相关推荐
使用JQuery实现从JSON对象转换为form提交数据
由于EasyUI自带的Form提交方式会自动去除掉readonly和disabled的值,或者多层form时,不能正确获取到form表单中的数据,由此,产生了这个专门针对EasyUI form的提交工具。
java利用jxl类操作exel以及表单form的jquery提交方式
ajax form 提交 动态显示ajax form 提交 动态显示ajax form 提交 动态显示
NULL 博文链接:https://meng-sicheng.iteye.com/blog/1874375
该文档包含了Java中常用的form提交的集中方式,附加小例子,希望能给大家一点帮助
用form提交打开新页面,类似于支付时候的效果
本文实例讲述了JS提交form表单。分享给大家供大家参考,具体如下: 一、javascript 页面加裁时自动提交表单: Form表单: <form method="post" id="myform" action="a.php"> <input type="submit" value=...
将数据以POST形式和图片一起传送到服务器,批量的哦!
不用form提交表单,用ajax异步上传文件,使用jdk8版本,否则可能无法运行
jqueryformjs实现将form提交转为ajax方式提交的方法.docx
C# post方式提交Form表单。 C# post方式提交Form表单,可以支持带参数传入,供大家学习参考。 C# post提交表单。
在进行表单提交时,会遇到在提交前增加额外参数的情况,主要有以下几种方法,大家可以根据自己的需求进行选择
昨天看见一位网友需要解决一些关于AJAX的FORM提交的问题,现在把一个实例贴出来,希望对广大爱好者有帮助。
ajaxSubmit()方法是JQuery Form表单插件中的方法,使用时,需要在jsp或者html页面上,引入JQuery...接下来通过本文给大家分享通过AjaxSubmit()方法实现Form提交表单后回调功能,感兴趣的朋友跟随脚本之家小编一起看看吧
现在来对比一下ajax与隐藏form提交的利与弊。 1.隐藏form提交,更新数据完成后,需要转到一个空白页面再对原页面进行提交后处理;ajax则不用,可以直接返回原页面进行提交后的处理。可见ajax可以比隐藏form提交少...
ASP提交表单源码,供大家参考,ASP提交表单源码,供大家参考
本文实例讲述了jquery.form.js实现将form提交转为ajax方式提交的方法。分享给大家供大家参考。具体分析如下: 这个框架集合form提交、验证、上传的功能。 这个框架必须和jquery完整版结合,否则使用min则无效。 ...
今天小编就为大家分享一篇django多文件上传,form提交,多对多外键保存的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧