我正在使用Web Api,它使用自定义AuthorizationFilterAttribute来检查Authorization标头中有效apikey的请求标头。
我有这个用于GET和POST请求。 发布表单时,我使用jQuery序列化表单而不是发布。 jQuery代码如下所示:
var postURL = "@localPostUrl";
var serializedForm = $('form').serialize();
$('input#submitButton').click(function () {
$.ajax({
url: postURL,
type: 'post',
headers: {
Authorization: 'blaBLA'
},
dataType: 'json',
data: serializedForm,
success: function (data) {
alert(data);
}
});
});
因此,当单击表单上带有id submitButton的按钮时,它将序列化表单内容,而不是将其与标题中的授权令牌一起发布。
但是,在一种形式中,我还需要在发布时上传文件。如果我检查Web Api上的request.Files,它只是空的,所以我猜文件没有发布。
我使用jQuery发布了表单,因为我需要在Headers中发送身份验证令牌,并使用提交按钮发送它不起作用。
所以现在我面临僵局。我需要使用jQuery来发送身份验证令牌,但我还需要上传文件,但它们不能一起工作。
有没有人解决过这个问题?