Javascript jquery ajax上传表单使用授权头序列化
我正在开发一个Web Api,它使用一个自定义的AuthorizationFilterAttribute来检查请求头中的授权头中是否有有效的apikey 我有这个工作的GET和POST请求。 发布表单时,我使用jQuery序列化表单,然后发布它。 jQuery代码如下所示:Javascript jquery ajax上传表单使用授权头序列化,javascript,jquery,ajax,asp.net-web-api,Javascript,Jquery,Ajax,Asp.net Web Api,我正在开发一个Web Api,它使用一个自定义的AuthorizationFilterAttribute来检查请求头中的授权头中是否有有效的apikey 我有这个工作的GET和POST请求。 发布表单时,我使用jQuery序列化表单,然后发布它。 jQuery代码如下所示: var postURL = "@localPostUrl"; var serializedForm = $('form').serialize(); $('input#submitButton').click(functio
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的按钮时,它将序列化表单内容,然后将其与标题中的授权令牌一起发布
Hoever,在一个表单中,我在发布时还需要上传一个文件。如果我检查Web Api上的request.Files,它只是空的,所以我猜该文件没有发布
我使用jQuery发布表单,因为我需要在标题中发送身份验证令牌,而使用submit按钮发送它不起作用
所以现在我面临着僵局。我需要使用jQuery发送身份验证令牌,但我还需要上传一个文件,它们不能一起工作
有人已经解决了这个问题吗?@zer02您提供的链接与我已经做的一样。因此,它在发送请求之前添加了一个头。这没问题。问题是,在使用jQuery发布表单时,文件没有序列化/上载。