序列化文件类型jQuery

序列化文件类型jQuery,jquery,Jquery,我正在尝试使用jquery.form.jsjqueryapi序列化我的表单数据,包括文件图像字段。 API正在帮助我对包括图像在内的数据字段进行序列化,并将图像对象返回为[对象文件] 这是我的序列化代码 var data = $js("form[name=ajx_imgupload]").formSerialize(); var img = $js("#upload_image").fieldSerialize(); $js.ajax({

我正在尝试使用jquery.form.jsjqueryapi序列化我的表单数据,包括文件图像字段。 API正在帮助我对包括图像在内的数据字段进行序列化,并将图像对象返回为
[对象文件]

这是我的序列化代码

    var data = $js("form[name=ajx_imgupload]").formSerialize();
    var img = $js("#upload_image").fieldSerialize();

    $js.ajax({
                 url: "index.php?option=com_obituary&task=upload",
                 type: "POST",
                 dataType:"json",
                 data: data,
                 beforeSend: function(){
                   $js(".loadingblock").show();
                 },
                 complete: function(){
                   $js(".loadingblock").hide();
                 },
                 success: function(res){
                   alert();  
                 },
                 error: function(jqXHR, textStatus, errorThrown){
                   alert(textStatus);                
                 }
           });
问题缠身。。。非常感谢您的帮助

谢谢

HTML

<!--Add Inventory Form-->

<div id="addInventoryFormHTML" class style="display:none">

    <!--Form-->
    <form id="addInventoryForm" novalidate="novalidate" enctype="multipart/form-data">

        <input id="itemTitleField" class="textField addInventoryField" name="itemTitleField" type="text" placeholder="Item Title"/>

        <textarea id="itemDescriptionField" class="textAreaField addInventoryField" name="itemDescriptionField" type="textarea" placeholder="Item Description"></textarea>

        <input id="itemPictureField" class="uploadField addInventoryField" name="itemPictureField" type="file"/>

    </form>

    <!--Errors-->
    <div id="inventoryAddErrors"></div>

</div>
您不能仅使用jQuery本机方法上载图像。退房

它有一些方法可以完美地为你做到这一点

这似乎对我有用。在后端,我可以用$\u POST获取POST参数,用$\u文件获取文件(或类似的东西)

看起来ajaxSubmit会立即发布表单,并自动完成序列化数据


希望有帮助

不能使用ajax进行文件上传。不过,为了模拟效果,您可以在隐藏的iframe中创建一个表单,然后将其提交到上载url


我来帮你吧。这是我一天前做的。我有包括图像字段的表单。当您通过
jquery.form.js

注意:我正在使用jqueryimageupload.php上传文件,如果您需要,我可以粘贴它。这是一个简单的php文件上传

html部分:

<form name="imageform" id="imageform" action="jqueryimageupload.php" method="post">
  <input type="file" name="resim" id="img" onchange="ImageUpload()" />
  <input type="hidden" name="action" value="imageup" />
</form>
你可以用这种方式(从)


这是一种更灵活、更简单的方法

如果你需要任何示例代码(html、Javascript和PHP),我已经用这个库完成了,我会把它添加到我的回答中我正在使用这个jquery.form.js论坛插件并使用formserialize..而不是ajaxform…没有任何函数使用它…stucked and Tiredooh抱歉我的不好,我没有正确地阅读你的问题。我将添加我的代码,看看它是否有帮助Hanks Adam..希望您的代码集与我正在寻找的代码一致..谢谢基本上只需使用ajaxSubmit,忘记序列化。任何如何创建iframe和克隆数据的链接都将非常有用。。thanks@ManeeshMehta当前位置有这么多,但我发布了一个乍一看似乎很容易理解的。对我来说,最后我自己写了一篇简单的文章。我建议搜索“ajax文件上传”和“使用iframe方法上传文件”;e、 停止传播();避免屈服。
<form name="imageform" id="imageform" action="jqueryimageupload.php" method="post">
  <input type="file" name="resim" id="img" onchange="ImageUpload()" />
  <input type="hidden" name="action" value="imageup" />
</form>
function ImageUpload() {
    $("#return").show();
    $("#return").html('');
    $("#return").html('<img src="images/load2.gif" alt="Uploading...."/> wait, uploading...');
    $("#imageform").ajaxForm({
        target: '#return',
        success: function() {
            $("#return").fadeOut(10000);
        }
   }).submit();     
}
$('#form').submit(function() {
    var img=$('#image').val();
    var forms=($(this).serialize());
    $.ajax({
        type:"POST",            
        url: "do.php?do=upload",
        data:forms+'&r='+encodeURIComponent(img),
        success: function(result){ //your code }     
    });
 });
$( '#my-form' )
  .submit( function( e ) {
    $.ajax( {
      url: 'http://host.com/action/',
      type: 'POST',
      data: new FormData( this ),
      processData: false,
      contentType: false
    } );
  } );