通过Jquery Ajax上传多个带有数据的文件

时间:2014-06-04 19:01:16

标签: javascript jquery ajax

<form action="ajax.php" method="POST" id="request-form" enctype="multipart/form-data">

<select name="car">
   <option value="">Choose</option>
 </select>

 <input type="text" name="address"/>
 <input type="text" name="zip"/>

 <input type="file" name="typeoneimage" class="typeone"/>
 <input type="file" name="typetwoimage" class="typetwo"/>

</form>

<input type="button" value="Add more file"/>

这是我的基本形式,但点击按钮可以通过jquery添加更多文件类型的输入标签,例如

<input type="file" name="typeoneimage" class="typeone"/>
<input type="file" name="typetwoimage" class="typetwo"/>

这是我上传该表单数据的javascript代码,但是只有最后一个文件通过ajax发送到服务器,其余的文件都丢失了,我想将这些文件作为数组发送到一个数组中的图像并在发送数组中输入两个图像。我怎样才能做到这一点,请指导我。

function postRequest(car,address,zip,typeoneimg,typetwoimg)
        {
            return $.ajax({
                type:'POST',
                url:"ajax.php",
                contentType: false,
                processData: false,
                async:false,
                cache:false,
                data:{"car":car,"address":address,"zip":zip,"typeOneImage":typeoneimg,"typeTwoImage":typetwoimage}
            });
}

var typeOneImages=new Array();
var typeTwoImages=new Array();

$(form).on("submit",function(e){

        $.each(".typeone",function(){
            typeOneImages.push($(this).file[0]);
        });

        $.each(".typetwo",function(){
            typeTwoImages.push($(this).file[0]);
        });

        //postRequest function call here


e.preventDefault();
});

0 个答案:

没有答案