我有一个网络表单,其中有 x 个文本框和 y 个下拉菜单等 我正在使用此代码将数据发送到服务器上的 webmethod:
$.ajax({
type: "POST",
url: "SupplierMaster.aspx/RegisterSupplier",
data: JSON.stringify({
id: $('#txtbidderid').val(),
bidamt: $('#txtbidamt').val()
}),
contentType: "application/json; charset=utf-8",
dataType: "json",
async: true,
success: function (data, status) {
alert(data.d);
},
failure: function (data) {
alert(data.d);
},
error: function (data) {
alert(data.d);
}
});
现在的问题是我还想在此表单上包含文件附件。
如何将文件添加到 $.ajax
方法的 data:
中?
除非绝对必要,否则我不想使用外部插件等。
假设我将数据对象修改为如下所示:
var dataToSend = {};
dataToSend.id = $('#txtbidderid').val()
dataToSend.bidamt = $('#txtbidamt').val()
dataToSend.append( 'file', input.files[0] );
webmethod 武器会是什么样子?
例如,假设现在看起来像这样:
[WebMethod] public static string SubmitBid(string id, string bidamt.....)
最佳答案
你可以尝试这样的事情。您可能需要操纵内容类型。
var dataToSend = new FormData();
dataToSend.append( 'file', input.files[0] );
$.ajax({
url: "SupplierMaster.aspx/RegisterSupplier",
data: dataToSend,
processData: false,
contentType: false,
type: 'POST',
success: function(data){
alert(data);
}
});
关于javascript - 如何使用 jquery ajax 调用将文件以及其他字段的数据发送到 webmethod is asp.net?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30230130/