覆盖$ .ajaxSetup中的“ xhr”属性的目的是什么?

问题描述

| 我无法通过Google找到有关此问题的任何答案,因此想在这里提问: 对于jQuery $ .ajaxSetup函数,重写xhr属性的目的是什么?我在文档中看到它说:   用于创建XMLHttpRequest对象的回调。认情况下为ActiveXObject   可用(IE),否则使用XMLHttpRequest。重写以提供您自己的实现   XMLHttpRequest或对工厂的增强。 为什么有人要手动覆盖xhr对象?有什么例子吗?     

解决方法

我能想到的一些例子: 也许您永远都不想使用ActiveX控件,而总是使用本机XMLHttpRequest对象。 也许您想在最后一次更改URL。 也许您想在执行Ajax请求之前进行一些安全检查(并不是说这会阻止恶意用户,只是保护普通用户免受自身攻击)。 如果XMLHttpRequest不可用,也许通过iframe进行回退以使用\“ ajax \”。 Etcetera。