BackBone js-如何在进行AJAX调用时设置contentType

BackBone js - How to set contentType when making AJAX Call?

本文关键字:调用 AJAX 设置 contentType js- BackBone      更新时间:2023-09-26

在我的应用程序中,我调用AJAX来获取图像/二进制数据。

问题是,当从我的模型中进行fetch()时,如何将"应用程序/八位字节流"设置为内容类型?

我的模型——我无法更改已定义的"BLA"提取。如何通过我的模型设置内容类型?

define(function(require) {
  var bla= require("bla");
return BLA.Model.extend({
   __name__: 'xyz',
        url: function() {   
            console.log(this.attributes);
            return SOME_URL + this.get('someAttribute'); 
        },
        initialize: function(options) {
            this.options = options;            
            this.promise = this.fetch(options);
        }
    });
});

Backbone.Model.fetch使用Backbone.Sync,后者使用$.ajax请求远程服务器。当您调用Model.fetch(options)时,options散列将传递给$.ajax

在您的情况下,您可以设置:

this.promise = this.fetch({ beforeSend: function (request)
            {
                request.setRequestHeader("Content-Type", "application/octet-stream");
            } 
});