2014-12-02 69 views
1

我需要将“<message>”作为Content-ID添加到我的多部分表单的ajax请求中。我有一个非常简单的请求,利用骨干的保存:添加MIME内容ID以请求有效载荷(AJAX)

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 
}); 

形式,“消息”的第一部分应该具有一个Content-ID报头。任何想法如何实现这一目标?

回答

0

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

使用headers选项:

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

使用$就beforeSend回调:

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