2014-05-10 53 views
-1

我要检查,如果一个GET请求返回任何东西,我试过这个代码检查JSON请求返回任何

var url = "link"; 
    $.getJSON(url,function(json){ 
     if (json.length == 0) { 
      console.log("NO DATA!") 
     } 
    }); 

,但它似乎没有工作。有什么建议么?

+1

打开Chrome,按F12打开开发者控制台。转到网络页面并查找请求。检查它的状态代码。如果它是200,那意味着你的ajax正在工作。在这种情况下,请检查选项卡“响应”(同时详述此请求),验证您的JSON响应并将其发布到此处。 –

+0

你在投入什么JSON?你期望得到什么结果? – Quentin

+0

这样的:{ “状态”: “OK”, “水滴”: { “ID”:100823, “名”: “test222”, “image_id”:420, “size_id”:33 , “REGION_ID”:1, “backups_active”:假的, “IP_ADDRESS”: “127.0.0.1”, “private_ip_address”:空, “锁定”:假的, “状态”: “活动”, “created_at”:“2013-01-01T09:30:00Z” } ] } –

回答

2

之前,如果()我建议一个的console.log()。

var url = "link"; 
    $.getJSON(url,function(json) { 
     console.log("Success received...") 
     if (json.length == 0) { 
     console.log("NO DATA!") 
     } 
    }); 

完整的参考是在这里:http://api.jquery.com/jQuery.getJSON/

而且你还可以使用中,.done()功能:

$.getJSON(url) 
    .done(function(json) { 
     console.log("Success received...") 
     if (json.length == 0) { 
      console.log("NO DATA!") 
     } 
     }); 

这可能是因为在某种程度上,你JSON对象不为空。

+0

^这是错误即时 –

0

我不知道这是否是你想要什么你的问题我不清楚:

,如果你不知道这是否会或不会返回数据,只需添加一个条件为每个 - 你也错过了分号,但我不认为这是问题。

var url = "link"; $.getJSON(url,function(json){ if (json.length == 0) { console.log("NO DATA!"); } else { console.log("DATA RETURNED!"); } });