当我尝试使用主干中的fetch检索“xml”响应时,会发生此错误。
我的获取代码是:
itenary.fetch({
data :{date:dayFormatToSend.toString(), advisorId:"0000222186"},
dataType:"xml",
success:function(response){
console.log(response);
}
错误
Uncaught Error: SecurityError: DOM Exception 18 backbone-min.js:13
f.extend.set backbone-min.js:13
a.success backbone-min.js:15
c.success backbone-min.js:40
fire jquery-1.8.0.js:973
self.fireWith jquery-1.8.0.js:1080
done jquery-1.8.0.js:7583
callback
仅当我将dataType设置为“xml”时才会发生这种情况,否则成功函数将无法成功执行。
此外,我可以在Chrome浏览器检查元素窗口的网络窗口中正确看到响应。
这种情况只发生在Chrome中,并且可以正常使用firefox
答案 0 :(得分:0)
我通过在第345行附近的1.0.0中添加了一个关于BB源的try catch来解决这个问题。对于这样的事情:
// For each `set` attribute, update or delete the current value.
for (attr in attrs) {
try {
val = attrs[attr];
if (!_.isEqual(current[attr], val)) changes.push(attr);
if (!_.isEqual(prev[attr], val)) {
this.changed[attr] = val;
} else {
delete this.changed[attr];
}
unset ? delete current[attr] : current[attr] = val;
} catch (err){
if(window.console) console.log(err);
}
}
问题似乎是当它遇到'cookie'属性时,它会破解并引发Chrome中的安全违规行为。试图调用attrs [attr]等同于文件[cookie]导致Kaboom。不确定Chrome中的安全策略是否违反了,但try catch允许代码继续执行并根据需要完成请求,并按预期交回xml。
将其攻击到1.0.0分钟