如何使用纯文本数据上传附件文件?

时间:2016-07-16 07:23:22

标签: javascript jquery html

我尝试从我的网页提交联系信息。我使用ajax发布表单数据(名称,主题等..,附件文件)。

的表格值
  1. 名称,主题等..,这些是字符串类型

  2. 仅附件文件对象类型

  3. 我的第一个案例是:

    var Name =$("#Full_Name").val()
    var Subject =$("#Subject").val()
    var Message =$("#Message").val()
    var Email =$("#Email_Address").val()
    var Phone =$("#phoneNumber").val()
    var userfile =$("#uploadBtn").files[0]
    
    var Address =$("#Address").val()
    var City =$("#City_Name").val()
    var Pincode =$("#City_code").val()
    var State =$("#State_Name").val()
    var Country =$("#Country_Name").val()
    

    以上代码在没有用户文件(附件文件)的情况下正确发布所有数据

    在我的第二个案例中:

    我替换

    var userfile =$("#uploadBtn").files[0] 
    

    这一个

    var userfile = new FormData();
    
    $.each($('#uploadBtn')[0].files, function(i, file) {
          userfile.append('file-'+i, file);
    });
    

    添加此行以将上传文件发布到服务器

    但是服务器得到的结果只是 [object:object]

    的格式

    为什么服务器会得到这个结果?如何使用上传文件获取表单数据值

    我的代码是:

    在HTML中:

    <form action="#" name="f" enctype="multipart/form-data" id="myform" >
    

    在Javascript中:

        $.ajax({
                   async:true,
                   url: "/cgi-bin/servercall_upload.cgi",
                   type: "get",
                   processData: false,
                   contentType: false,
                   traditional: true,
                   data: {
                         Name:Name,
                         Subject:Subject,
                         Message:Message,
                         Email:Email,
                         Phone:Phone,
                         userfile:userfile,
                         Address:Address,
                         City:City,
                         Pincode:Pincode,
                         State:State,
                         Country:Country
    
                   }
        });
    

    如何解决此问题?

0 个答案:

没有答案