jquery ajax上传表单序列化与授权标题

时间:2014-02-20 00:09:49

标签: javascript jquery ajax asp.net-web-api

我正在使用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来发送身份验证令牌,但我还需要上传文件,但它们不能一起工作。

有没有人解决过这个问题?

0 个答案:

没有答案