添加mime Content-ID以请求有效负载(AJAX)

时间:2014-12-02 17:16:25

标签: javascript ajax backbone.js mime-types multipartform-data

我需要将“<message>”作为Content-ID添加到我的多部分表单的ajax请求中。我有一个非常简单的请求,使用Backbone的保存:

var data = new FormData();
data.append('message', new Blob([JSON.stringify(message.attributes)],{type: "application/json"}),'message');
data.append(document.getElementById('fileInput').files[0].name,document.getElementById('fileInput').files[0]);
message.save({},{
    contentType: 'multipart/form-data',
    data: data
});

表单的第一部分“message”应该有一个Content-ID标头。关于如何实现这个的任何想法?

1 个答案:

答案 0 :(得分:0)

由于Backbone.Model.save使用$.ajax与服务器进行交互,您可以使用$.ajax选项设置自定义标头。

使用headers选项:

message.save({},{
    headers: {"Content-ID": "<message>" },
    contentType: 'multipart/form-data',
    data: data
});

使用$ .ajax的beforeSend回调:

message.save({},{
    beforeSend: function(xhr) {
        xhr.setRequestHeader("Content-ID", "<message>");
    },
    contentType: 'multipart/form-data',
    data: data
});