仅在代码的一个函数内修改 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' } });
我使用了一个名为 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' } });