【问题标题】:Ajax request is never entering `success:function(resp){ ...}`Ajax 请求永远不会进入 `success:function(resp){ ...}`
【发布时间】:2016-11-03 23:23:18
【问题描述】:

我的 ajax 请求永远不会进入 success:function(resp){ ...}

我收到200 的响应状态,而获得的Json response 不为空。

我的ajax函数:

$.ajax({
    url: '/url/',
    type: 'GET',
    data: {
        pass_value: 0,
        req_time_last_ack_update: 0,
    },
    dataType: "json",

    success : function (resp) {
        // Compiler is never entering here [I checked with Mozilla debugger]
    },
    error: function(){
        ....
    }
});

谁能帮我找出这个失败的原因?

(为澄清而编辑的问题)

【问题讨论】:

  • 成功和 : 之间的空格是这里的错字还是您的代码中存在?
  • 我得到的响应状态是 200,得到的 Json 响应不为空。那么失败是什么?
  • @Cruiser 语法很好。示例:jsfiddle.net/nb9k8nfy/2
  • 编译器没有输入success:function(resp){ }。这就是问题
  • 我认为问题的所有者正在试图弄清楚为什么他无法进入 Ajax 请求的成功方法。 Jithin 你能确认一下吗?

标签: javascript jquery json ajax django


【解决方案1】:

如果您试图在通话后直接进入此操作,它将无法正常工作。 您发送的 Ajax 请求异步发生。

只有从服务器收到响应后(这可能是几秒钟后),您才会在成功方法中看到一个断点被命中(如果您设置了一个)。

【讨论】:

  • 您是进入下一行还是继续调试?
  • 我为success 中的所有语句保留断点。然后,代码永远不会遇到任何断点。此外,当我在 success 处保留断点时,它会被击中。
  • success 之前的 AND 内设置断点。等到遇到第一个断点,然后按键盘上的 F8。查看第二个断点是否被命中
  • 感谢success进入内部花了很长时间
  • 因为它正在等待来自服务器的响应 :) 这完全取决于客户端需要多长时间才能收到来自服务器的响应。因此异步调用的重要性。
猜你喜欢
  • 2014-06-17
  • 1970-01-01
  • 2023-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-06
  • 2021-02-09
  • 1970-01-01
相关资源
最近更新 更多