Javascript $.ajaxPrefilter引发未捕获的TypeError:无法将null转换为对象异常
我想用Javascript $.ajaxPrefilter引发未捕获的TypeError:无法将null转换为对象异常,javascript,jquery,ajax,javascript-objects,Javascript,Jquery,Ajax,Javascript Objects,我想用$.ajaxPrefilter更改AJAX标头,并尝试了以下操作: $.ajaxPrefilter(function (options, originalOptions, jqXHR) { delete options.headers["myOwnHeader1"]; options.headers["myOwnHeader2"] = "test"; }); 在网络控制台(Chrome)中,设置了myOwnHeader2,而未设置myOwnHeader1。但它抛出以下异常
$.ajaxPrefilter
更改AJAX标头,并尝试了以下操作:
$.ajaxPrefilter(function (options, originalOptions, jqXHR) {
delete options.headers["myOwnHeader1"];
options.headers["myOwnHeader2"] = "test";
});
在网络控制台(Chrome)中,设置了
myOwnHeader2
,而未设置myOwnHeader1
。但它抛出以下异常:uncaughttypeerror:cannotvernull-to-object
onoptions.headers[“myOwnHeader2”]=“test”
仅当在全局$.ajaxSettings
或当前(原始)选项中给定时,选项
对象不一定包含标题
属性。所以你的选择是
- 使用
$.ajaxSetup({headers:{}})代码>,可能已经设置了
myOwnHeader2
- 将删除/扩展操作包装在
if(“选项中的标题”)块中
- 在预过滤器中动态创建headers对象(如果不存在):
options.headers = options.headers || {};
delete options.headers["myOwnHeader1"];
options.headers["myOwnHeader2"] = "test";