首页 > ajax表单提交的时候传的data哪种和form一样?

ajax表单提交的时候传的data哪种和form一样?

ajax在提交表单的时候一般是这样的:

 $.ajax({
        url: url,
        type: 'post',
        dataType: "json",
        data : {"kind":'savo'},
        success: function(data) {}
  });

这种和直接表单提交的:

<input type="text" name = "kind" />

是不是一样的?

怎么才能提交的数据和表单的name域一样?
用的很老的插件ajaxfileupload,服务端总是取不到附加的data


本质是不一样。一个是表单,一个xmlhttprequest。 你可以控制xmlhttprequest 的header 参数等,但是表单的header 你就不可以控制。取不到你想要的参数,你就要看看ajaxfileupload 的文档了。
另外推荐baidu 的webuploader , 那个做的不错,而且文档很详细。


html5的,有一个FormData的对象,可以看下。


我使用的 ajaxfileupload 中不能添加另外的数据 除了 上传的文件。
所以你需要修改你 自己 的ajaxfileupload 中的 createUploadForm 方法,添加一个参数,并且 生成 对应的<input type="hidden" />


推荐题主看看jQuery的Form插件,其中有ajaxForm和ajaxSubmit可以将表单直接用ajax提交。

jQUery Form


单从服务器接受post参数来说是一样的
在ajaxfileupload中,若想除上传文件外,还要附加其他数据,可以放在其options的data里,如:


$.ajaxFileUpload( { url:'doajaxfileupload.php', secureuri:false, fileElementId:'fileToUpload', dataType: 'json', data:{kind:'savo'}, //附加参数 success: function (data, status) { if(typeof(data.error) != 'undefined') { if(data.error != '') { alert(data.error); }else { alert(data.msg); } } }, error: function (data, status, e) { alert(e); } } )

具体可以参考你所使用的ajaxfileupload版本所属的文档


不一样。这两个是不同的类型,所以取值的方式也是不同的。

第一种是post的json数据,第二种是form data数据。

【热门文章】
【热门文章】