jQuery .then()和成功块不能一起使用吗?

普拉文·普利亚

我运行jQuery的版本1.10.X(是的!我有点慢!),并面临着这个奇怪的问题,即doneFilterfailFilter内通过.then()不工作,如果我有一个success在Ajax调用块。

但是,在我看来,这似乎是我自己的代码库的问题。证明(..也许不是。)?我尝试了一个简单的例子事情在示例中起作用,并且正如我所期望的那样,successdoneFilter已排队并执行。

现在在我的代码库中(与上面的示例绝对相似),.then()如果我有一个success奇怪块,那么部分将不会执行删除成功块将启用.then()执行doneFilter/ failFilter

奇怪的是,如果使用jQuery-1.7.X,在我的相同代码库中,它们都可以很好地发挥作用。由于ajax框架在1.8及更高版本中所做的更改,这可能会成为问题吗?

如果没有,关于如何找出问题的任何提示?我已经检查了用作doneFilter的方法failFilter没有语法错误。他们只是一个匿名者。包含控制台语句的函数。

代码 :

function getMonster (){
    var theMonster = $.ajax({
      url : "http://codepen.io/chriscoyier/pen/difoC.html",
      success : function(data){
        console.log("Monster Succeeded inside 'success' block");
      }
    });    
    return theMonster;
}

var theMonster = getMonster();
theMonster.then (function(){
    console.log("Moster Succeeded outside");
}, function(){
    console.log("Monster Failed  :(");
});

编辑 :

我正在做ajaxSetup如下。

$.ajaxSetup({
    beforeSend: function(jqXHR) {
        if ($.cookie("mycookie") == null) {
            console.info("Expired Session");
            AppModule.timeout();
            return false;
        }
    }
});

编辑2:有没有人以前遇到过这样的问题,或者我是唯一看到怪物失败的人吗?没有引发任何异常,这使得更难发现问题所在。

普拉文·普利亚

在花了很多时间进行调试之后,我发现successajax调用过程中存在逻辑访问问题试图访问返回的对象的键,null并尝试在循环内使用该方法上的方法。

我不确定jQuery是否应该在那里停止执行,因为它允许链接。我之所以找不到解决方案的原因是浏览器控制台没有向我显示任何错误,而是在循环进行该特定迭代之后才停止执行。

我在脑海中问的问题是,.then()即使成功块在某个时候失败了,jQuery也不应该继续执行回调吗?可能是,可能不是。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Magento静态块和jQuery手风琴不能一起使用

来自分类Dev

JQuery Mobile和Firefox不能一起玩吗?

来自分类Dev

jQuery tagsinput和ui自动完成功能:它们可以与预加载的源一起使用吗?

来自分类Dev

一起使用php和jquery

来自分类Dev

jQuery选择和mCustomScrollbar不能一起正常工作

来自分类Dev

jQuery .load()函数不能与DataTables一起使用?

来自分类Dev

jQuery removeClass不能与Draggable一起使用

来自分类Dev

为什么childElementCount不能与jQuery一起使用?

来自分类Dev

jQuery不能与underscore.js一起使用

来自分类Dev

jQuery .load不能与函数参数一起使用

来自分类Dev

为什么JQuery不能与CryptoJS一起使用?

来自分类Dev

jQuery tablesorter,staticwidget和sortList在一起吗?

来自分类Dev

我可以在jQuery中一起使用'not'和'contains'过滤器吗

来自分类Dev

AngularJS 可以与 jQuery bootgrid 一起使用吗?

来自分类Dev

jQuery / ajax表单提交不能与多种表单一起使用+模式不能关闭

来自分类Dev

mouseup和mousedown在jQuery中无法一起使用

来自分类Dev

CORS无法与jQuery和Java一起使用

来自分类Dev

一起使用jQuery .append和.html

来自分类Dev

我可以将HTTP POST方法与jquery数据表sAjaxSource和webapi一起使用吗

来自分类Dev

JQuery 调光器和无滚动不能一起工作

来自分类Dev

Jade和jQuery一起

来自分类Dev

jQuery类选择器不能与动态类选择器一起使用

来自分类Dev

选择的Jquery脚本不能与Asp.net更新面板一起使用?

来自分类Dev

为什么jQuery Selectable插件不能与foreach生成的列表一起使用?

来自分类Dev

为什么这个Bootstrap复选框不能与jQuery一起使用?

来自分类Dev

jQuery(metis-menu)不能与流星中的iron:router一起使用

来自分类Dev

jQuery选择器不能与变量一起使用

来自分类Dev

胖箭头功能不能与jQuery getJSON一起使用?

来自分类Dev

不能使AngularJS与jQuery Summernote一起使用,它根本不显示

Related 相关文章

  1. 1

    Magento静态块和jQuery手风琴不能一起使用

  2. 2

    JQuery Mobile和Firefox不能一起玩吗?

  3. 3

    jQuery tagsinput和ui自动完成功能:它们可以与预加载的源一起使用吗?

  4. 4

    一起使用php和jquery

  5. 5

    jQuery选择和mCustomScrollbar不能一起正常工作

  6. 6

    jQuery .load()函数不能与DataTables一起使用?

  7. 7

    jQuery removeClass不能与Draggable一起使用

  8. 8

    为什么childElementCount不能与jQuery一起使用?

  9. 9

    jQuery不能与underscore.js一起使用

  10. 10

    jQuery .load不能与函数参数一起使用

  11. 11

    为什么JQuery不能与CryptoJS一起使用?

  12. 12

    jQuery tablesorter,staticwidget和sortList在一起吗?

  13. 13

    我可以在jQuery中一起使用'not'和'contains'过滤器吗

  14. 14

    AngularJS 可以与 jQuery bootgrid 一起使用吗?

  15. 15

    jQuery / ajax表单提交不能与多种表单一起使用+模式不能关闭

  16. 16

    mouseup和mousedown在jQuery中无法一起使用

  17. 17

    CORS无法与jQuery和Java一起使用

  18. 18

    一起使用jQuery .append和.html

  19. 19

    我可以将HTTP POST方法与jquery数据表sAjaxSource和webapi一起使用吗

  20. 20

    JQuery 调光器和无滚动不能一起工作

  21. 21

    Jade和jQuery一起

  22. 22

    jQuery类选择器不能与动态类选择器一起使用

  23. 23

    选择的Jquery脚本不能与Asp.net更新面板一起使用?

  24. 24

    为什么jQuery Selectable插件不能与foreach生成的列表一起使用?

  25. 25

    为什么这个Bootstrap复选框不能与jQuery一起使用?

  26. 26

    jQuery(metis-menu)不能与流星中的iron:router一起使用

  27. 27

    jQuery选择器不能与变量一起使用

  28. 28

    胖箭头功能不能与jQuery getJSON一起使用?

  29. 29

    不能使AngularJS与jQuery Summernote一起使用,它根本不显示

热门标签

归档