Javascript 为控制器的AJAX调用序列化文件输入
我在序列化文件输入以通过ajax传递给MVC控制器时遇到了一些问题。我有一个表单,用户可以上传一个或多个图像。然后我想通过ajax将这些图像传递给控制器。问题似乎在于Javascript 为控制器的AJAX调用序列化文件输入,javascript,jquery,ajax,asp.net-mvc,Javascript,Jquery,Ajax,Asp.net Mvc,我在序列化文件输入以通过ajax传递给MVC控制器时遇到了一些问题。我有一个表单,用户可以上传一个或多个图像。然后我想通过ajax将这些图像传递给控制器。问题似乎在于数据值。控制台窗口中出现以下错误: 未捕获引用错误:未定义ImageUploads 这是我的密码: @using (Html.BeginForm("CreateGallery", "User", FormMethod.Post, new { enctype = "multipart/form-data" })) { <
数据
值。控制台窗口中出现以下错误:
未捕获引用错误:未定义ImageUploads
这是我的密码:
@using (Html.BeginForm("CreateGallery", "User", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<input type="file" name="ImageUploads" id="upload-button" multiple="multiple" />
<button type="button" class="btn btn-default" id="create-thumbnails">Submit</button>
}
<script>
$(document).ready(function () {
$("#create-thumbnails").click(function () {
$.ajax({
type: 'POST',
url: '@Url.Action("DisplayThumbnails", "User")',
dataType: 'json',
data: ImageUploads,
success: function (data) {
alert(data);
},
error: function (ex) {
alert("error!");
}
});
})
});
</script>
@使用(Html.BeginForm(“CreateGallery”,“User”,FormMethod.Post,new{enctype=“multipart/formdata”}))
{
提交
}
$(文档).ready(函数(){
$(“#创建缩略图”)。单击(函数(){
$.ajax({
键入:“POST”,
url:'@url.Action(“显示缩略图”,“用户”),
数据类型:“json”,
数据:图像上传,
成功:功能(数据){
警报(数据);
},
错误:函数(ex){
警报(“错误!”);
}
});
})
});
哪里定义了ImageUploads
?请参阅您没有在任何地方声明ImageUploads
。但是这无论如何都不会起作用-为了使用ajax上传文件,您需要使用FormData
并设置正确的ajax选项。参考