仅在代码的一个函数内修改 XmlHttpRequest

Modify XmlHttpRequest just inside one function of the code

我使用了一个名为 Redactor, which can send ajax requests (link to the code 的 jQuery 插件。我的站点使用 header 进行了 ajax 身份验证。所以,我需要设置所有 ajax 请求的 header,通过 redactor 发送。

如何在不修改源文件的情况下只修改网站的这个请求?

P.S。我不需要全局修改 XmlHttpRequest。我只想为这段代码修改它。

您可以使用 ajaxSetup() ( https://api.jquery.com/jquery.ajaxsetup/ )。您可以为 jQuery 中的所有 ajax 请求定义默认值。所以你可以强制 header 到 Redactor 发送的请求。

看到这个问题:How can I add a custom HTTP header to ajax request with js or jQuery?

If you want to add a header (or set of headers) to every request then use the beforeSend hook with $.ajaxSetup():

$.ajaxSetup({
    beforeSend: function(xhr) {
        xhr.setRequestHeader('x-my-custom-header', 'some value');
    }
});

// Sends your custom header
$.ajax({ url: 'foo/bar' });

// Sends both custom headers
$.ajax({ url: 'foo/bar', headers: { 'x-some-other-header': 'some value' } });