gpt4 book ai didi

jquery - 如何使用 ajax 请求将数据和一个文件发送到操作

转载 作者:行者123 更新时间:2023-12-01 04:02:40 25 4
gpt4 key购买 nike

我想通过 ajax 请求发送多个参数。例如: id=1,name="amin",logo:file 。在我的操作中,id 类型是 int,Name 类型是 String,Logo 类型是 HttpPostfileBase。

var ID = $("#OfficeId").val();
if (ID == "") {
var imagefile1 = $("#fileInput")[0].files[0];
alert(imagefile1.name);
$.ajax({
url: '@Url.Action("Create", "Administration")',
data: { ID: ID, Name: $("#Name").val(), ManagerName: $("#ManageName").val(), UserName: $("#UserName").val(), Password: $("#Password").val(), Address: $("#Address").val(), Wage: $("#Wage").val(), Logo: imagefile1 },
type: "POST",
processData: false,
contentType: false,
enctype: 'multipart/form-data',
success: function (result) {
if (result.Success) {
alert(result);
}
eval(result.Script);
},
error: function () {
alert("خطا!");
}
});
}

但是这段代码对我不起作用。如果我从ajax请求中删除Logo(文件参数),请求就可以正常工作。我的问题只是 Logo (文件参数)。

最佳答案

您可以使用 JavaScript 的 FormData 对象的概念,如下所示:

您可以将所有表单交给formData进行处理

var formData = new FormData();
formData.append('ID', $("#OfficeId").val());
formData.append('Name', $("#Name").val());
formData.append('image', $("#fileInput")[0].files[0]);

使用 jQuery 的 Ajax 请求将如下所示:

$.ajax({
url: 'Your url here',
type: "POST",
data: formData,
processData: false,
contentType: false,
enctype: 'multipart/form-data',
success: function (result) {

if (result.Success) {
alert(result);
}
eval(result.Script);
},
error: function () {
alert("خطا!");
}

})

关于jquery - 如何使用 ajax 请求将数据和一个文件发送到操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37480187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com