是否可以发送整个表单,包括使用jquery/ajax的文件到服务器

本文关键字:jquery ajax 服务器 文件 包括使 表单 是否 | 更新日期: 2023-09-27 17:50:26

是否可以使用Jquery/Ajax提交整个表单(包括fileupload的所有字段)到服务器(webmethod或处理程序等)?如果是,怎么做?

ASPX:

$.ajax({
               type: "POST",
               url: "SupplierBidding.aspx/SubmitBid",
               data: JSON.stringify({ id: $('#txtbidderid').val(), bidamt: $('#txtbidamt').val() }),
               contentType: "application/json; charset=utf-8",
               dataType: "json",
               async: true,
               success: function (data, status) {
                   span.fadeIn("slow", function () {
                       span.text(data.d).fadeOut('slow');
                   });             
               },
               failure: function (data) {
                   alert(data.d);                  
               },
               error: function (data) {
                   alert(data.d);
                   setTimeout(function () {
                       btn.prop('disabled', false);
                   }, 3000);
               }
           });
       }

WebMethod:

 [WebMethod]
    public static string SubmitBid(string id, string bidamt)
    {
     //code
return "";
    }

我想用包括文件在内的整个表单替换data: JSON.stringify({ id: $('#txtbidderid').val(), bidamt: $('#txtbidamt').val() })

是否可以发送整个表单,包括使用jquery/ajax的文件到服务器

您可以使用Formdata

FormData文档

代码示例。

var fdata = new FormData();    
fdata.append( 'file', input.files[0] );
$.ajax({
  url: 'http://yourserver.com/upload.php',
  data: fdata,
  contentType: false,
  processData: false,
  type: 'POST',
  success: function(data){
    console.log('siceess')
  }
});

你试过jQuery表单插件吗?它处理文件上传。