Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js 主干模型获取异步错误不';我不适合firefox_Backbone.js_Asynchronous_Synchronization_Fetch - Fatal编程技术网

Backbone.js 主干模型获取异步错误不';我不适合firefox

Backbone.js 主干模型获取异步错误不';我不适合firefox,backbone.js,asynchronous,synchronization,fetch,Backbone.js,Asynchronous,Synchronization,Fetch,我的代码如下,它适用于chrome,但不适用于firefox,这两个版本都是最新的。firefox是否不支持主干的异步错误获取 identity.fetch( { async: false, "xhrFields": { "withCredentials" : true }, success : function ( model ) { dosomething(); } }); 主干Model.fetch委托到jQuery.ajax,如中所述 如果查看,关于async的部分给出

我的代码如下,它适用于chrome,但不适用于firefox,这两个版本都是最新的。firefox是否不支持主干的异步错误获取

identity.fetch( { 
async: false, "xhrFields": { "withCredentials" : true }, 
 success : function ( model ) {
   dosomething();
 }

});

主干
Model.fetch
委托到
jQuery.ajax
,如中所述

如果查看,关于async的部分给出了有关此选项正确用法的提示:

[…]从jQuery1.8开始,在jqXHR($.Deferred)中使用async:false是不正确的 不赞成;您必须使用成功/错误/完成回调选项 而不是jqXHR对象的相应方法,例如 jqXHR.done()或不推荐使用的jqXHR.success()


因此,使用默认值并异步处理响应可能是更好的选择。

问题是,同步XMLHttpRequests不允许使用带有凭据的
(它在属性设置时而不是在获取时引发错误).

您在优先选择同步请求方面的具体情况是什么?例如,对于身份验证阶段,我想在其他模块初始化(使用requirejs)之前进行登录检查。那么,您为什么不通过模块加载器(requirejs)传递未初始化的模块呢并在登录完成后立即初始化它们?但这并不总是便于将代码放入成功的回拨中?是的,但我发现它对chrome有效,只是firefox忽略了这一点,可能还有ie11,不确定这是否是趋势,以避免这种用法。