Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 输入类型文件在jquery ajax中未序列化_Javascript_Jquery_Json_Ajax_Asp.net Mvc - Fatal编程技术网

Javascript 输入类型文件在jquery ajax中未序列化

Javascript 输入类型文件在jquery ajax中未序列化,javascript,jquery,json,ajax,asp.net-mvc,Javascript,Jquery,Json,Ajax,Asp.net Mvc,下面是我在提交时将表单返回jquery函数时的razor代码 @model Slider @{ Layout = null; } @using (Html.BeginForm("AddOrEdit", "Slider", FormMethod.Post, new { enctype = "multipart/form-data" , onsubmit = "return SubmitForm(this)" })) { @

下面是我在提交时将表单返回jquery函数时的razor代码

 @model Slider
    @{

         Layout = null;
     }

    @using (Html.BeginForm("AddOrEdit", "Slider", FormMethod.Post, new { enctype  = "multipart/form-data" , onsubmit = "return   SubmitForm(this)" }))
    {
      @Html.HiddenFor(m => m.Id)



     <div class="form-group" style="height:270px;">
      @Html.LabelFor(m => m.ImageFile, new { @class = "blue-text", @style = 
      "font-size:16px", @id = "" })

 <input name="ImageFile" type="file"  />

 </div>

<div class="form-group">
     <input type="submit" value="Submit" class="btn btn-primary" />
     <input type="reset" value="Reset" class="btn" />
 </div>
 }

尝试下面的代码,并在ajax代码中做一些更改。在代码中添加以下参数

processData: false,
contentType: false,
并添加var formData=new formData$formID[0];在ajax开始之前执行一行

您应该使用FormData使用ajax上传文件$serialize将只提供键和值。您可以使用下面的代码使用AJAX上传文件

var formData = new FormData($(form)[0]);
$.ajax({
    url: form.action,
    type: form.method,
    data: formData,
    processData: false,
    contentType: false,

    success: function (response) {

    }
});

尝试下面的代码,并在ajax代码中做一些更改。在代码中添加以下参数

processData: false,
contentType: false,
并添加var formData=new formData$formID[0];在ajax开始之前执行一行

您应该使用FormData使用ajax上传文件$serialize将只提供键和值。您可以使用下面的代码使用AJAX上传文件

var formData = new FormData($(form)[0]);
$.ajax({
    url: form.action,
    type: form.method,
    data: formData,
    processData: false,
    contentType: false,

    success: function (response) {

    }
});

非常感谢它工作^ ^。感谢它帮助我将formData与文件一起获取键、值,还是我们必须一起发送formData值和序列化值?非常感谢它工作^ ^。感谢它帮助我将formData与文件一起获取键、值,还是我们必须一起发送formData值和序列化值?