我有如下代码,它适用于chrome,但不适用于firefox,这两个版本都是最新版本。 firefox不支持异步错误获取主干吗?
identity.fetch( {
async: false, "xhrFields": { "withCredentials" : true },
success : function ( model ) {
dosomething();
}
});
答案 0 :(得分:0)
主干Model.fetch
委托给jQuery.ajax
,如backbone documentation中所述。
如果查看jQuery docs,有关 async 的部分会提供有关此选项正确用法的一些提示:
[..]从jQuery 1.8开始,使用async:false和jqXHR($ .Deferred)是 弃用;您必须使用success / error / complete回调选项 而不是jqXHR对象的相应方法,如 jqXHR.done()或不推荐使用的jqXHR.success()。
所以也许更好的选择是使用默认值并同步处理响应。
答案 1 :(得分:0)
问题是同步XMLHttpRequests不允许withCredentials
(它在属性设置时引发错误,而不是在获取时引发错误。)