javascript - 如何在此代码中使用 ajax 发送具有输入类型文件的数据?
问题描述
在这个我有一个表单和一些带有id(级别,状态,照片卡)的属性。我正在使用ajax调用来发送这样的表单数据,级别,状态属性成功地进入后端,输入类型=“文本” “。但是照片卡的输入类型=“文件”不会进入后端。我应该在这段代码中做些什么改变?
<script>
$(document).ready(function(){
$("#submit_btn").click(function(){
alert("success");
$.ajax({
url:"/WeatherApi/UserDetailsController",
type:"post",
data: {
level: $('#level').val(),
state: $('#state').val(),
photo_card: $('#photo_card').val(),
},
sucess:function(response)
{
alert(response.status);
}
});
});
});
</script>
解决方案
要发送文件,您必须将 ajax 调用的 enctype 设置为multipart/formdata
.
您还必须使用FormData
对象发送数据。
所以使用你的代码(未经测试,但应该让你去):
<script>
var data = new FormData();
data.append('level', $('#level').val());
data.append('state', $('#state').val());
data.append('photo_card', $('#photo_card')[0].files[0]);
$(document).ready(function(){
$("#submit_btn").click(function(){
alert("success");
$.ajax({
url:"/WeatherApi/UserDetailsController",
type:"post",
enctype: 'multipart/form-data',
data: data,
sucess:function(response)
{
alert(response.status);
}
});
});
});
</script>
推荐阅读
- sql - SQL Server 分组有些奇怪
- css - NetBeans 自动完成 JavaFX CSS
- ios - 如何将观察到的属性传递给其他类?
- java - 从非结构化字符串中提取 JSON 字符串
- python - 如何在 python pandas 中分块读取 sas 文件?
- mongodb - Mongo DB 我尝试添加新字段
- python - 如何使用python在检测到的对象周围绘制一个框?
- javascript - 构建 vue js 文件
- .net - 如何使用 GraphQL for dotnet 处理 GraphQL 查询中的空响应?
- java - 在休眠中测试延迟加载(带有事务的java spring)