【问题标题】:jQuery getJSON cannot see console.logjQuery getJSON 看不到 console.log
【发布时间】:2014-06-10 16:17:29
【问题描述】:

我正在使用以下获取getJSON

$.getJSON("js/production-data.json").done(function(response) {
    console.log(response);
    console.log('hello');
  });

我可以在 Firebug 中看到正在检索数据,但没有 console.log 用于 response 这将是整个数据。我也看不到hello

【问题讨论】:

  • 您是否收到 200 响应?请记住,如果您不期望 2XX 响应,您还应该定义一个 fail() 回调
  • 您确定请求成功完成了吗? .done() 仅在成功时运行。 .fail().always() 将捕获非 200 响应。
  • @JLRishe 确实如此
  • 只是看代码是否到达。不是生产代码。
  • 没关系@LuisMasuelli,alert() 不是故障排除工具。 OP 应该使用经过验证的错误检查方法。 stackoverflow.com/questions/8825384/alert-is-bad-really

标签: javascript jquery json getjson


【解决方案1】:

尝试指定回调内联,如:

var jqxhr = $.getJSON( "example.json", function() {
  console.log( "success" );
});

作为另一个步骤,添加一个always 处理程序,而不仅仅是done

【讨论】:

    【解决方案2】:
    $.getJSON("data.json", function(d) {
    
      }).done(function(d) {
        console.log("success");
      }).fail(function(d) {
        console.log("error");
      }).always(function(d) {
        console.log("complete");
      });
    

    还可以在 JSONLint 处获取 JSON 验证

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-20
      • 2021-05-18
      • 2020-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-11
      相关资源
      最近更新 更多