Javascript JSON数据为空时发出警报-代码不工作

Javascript JSON数据为空时发出警报-代码不工作,javascript,angularjs,json,Javascript,Angularjs,Json,我想检查json数据是否为空 如果json为空,我想提醒找不到订单。 如果它不是空的,我想提醒找到的订单 若用户未登录,则其本地存储中将不会有任何令牌。因此,当浏览器请求API URL时,他将得到一个500错误。然后我想提醒失败以及失败状态原因 我的德夫病了,所以我试了试自己。进展不太顺利 尝试了下面的代码,根本不工作 <script> $http.get("http://localhost.com/activeorders/?format=json",{

我想检查json数据是否为空

如果json为空,我想提醒找不到订单。 如果它不是空的,我想提醒找到的订单

若用户未登录,则其本地存储中将不会有任何令牌。因此,当浏览器请求API URL时,他将得到一个500错误。然后我想提醒失败以及失败状态原因

我的德夫病了,所以我试了试自己。进展不太顺利

尝试了下面的代码,根本不工作

<script>             
$http.get("http://localhost.com/activeorders/?format=json",{
            headers: {'Authorization': 'Token '+ localStorage.getItem("token")}})
                .success(function(response) {

                    if(response=="[]")
                    { 

                        alert(" orders NOT found");


                    }
                    else
                    {   

                        alert("orders  found"); 
                    }

                    .error(function(response,status) {

        alert("failed");
    alert(status);
                }
                 return ;
            }); 

</script>

任何帮助都将是感激的

如果要检查JS对象或JSON是否为空{},例如,您的对象是响应:
Object.keysresponse.length==0&&response.constructor==Object

如果要检查JS对象或JSON是否为空{},例如,您的对象是response: Object.keysresponse.length==0&&response.constructor==Object

Try

if( Object.keys(JSON.parse(response)).length == 0 ){
  alert("err")
}
试一试


如果您试图在Angular js中执行此操作,则可以使用回调尝试以下代码:

如果您使用的是外部文件.json类型,可以尝试:

menuApp.controller("dynamicMenuController", function($scope, $http) {
$http.get('config/menu.json').success(function(data) { 
    console.log("success!");
    if(data.length == 0){
        alert('empty');
    }
    else {alert('some here!')}
});
如果您的json位于另一个域中,则为外部域。在这种情况下,我建议您转而看看JSONP,下面是一个示例:


如果您试图在Angular js中执行此操作,则可以使用回调尝试以下代码:

如果您使用的是外部文件.json类型,可以尝试:

menuApp.controller("dynamicMenuController", function($scope, $http) {
$http.get('config/menu.json').success(function(data) { 
    console.log("success!");
    if(data.length == 0){
        alert('empty');
    }
    else {alert('some here!')}
});
如果您的json位于另一个域中,则为外部域。在这种情况下,我建议您转而看看JSONP,下面是一个示例:


调试空响应。如果它类似于response.data,其中数据应该是数组,则检查数组长度。如果数据是对象-请检查是否存在任何自己的属性使用Ifresponse.length==0检查是否可以将响应日志放在此处。也许你处理错了。调试你的空响应。如果它类似于response.data,其中数据应该是数组,则检查数组长度。如果数据是对象-请检查是否存在任何自己的属性使用Ifresponse.length==0检查是否可以将响应日志放在此处。可能您处理错了。有必要确保您的webservice方法返回的json标题正确。谢谢。但似乎不起作用:。检查-有必要确保您的webservice方法返回的json具有正确的头。谢谢。但似乎不起作用:。检查-其response.data.lenghtgo以获取官方文档。。检查最后一个示例中的script.js,查看其response.data.lenghtgo以获取官方文档。。检查最后一个示例中的script.js
 $http.jsonp('http://teckstack.com/api/get_recent_posts/?callback=JSON_CALLBACK').success(function (data) {
    console.log("success callback");
    if(data.length == 0){
       alert('empty');
    } // response data 
}).error(function (data) {
    console.log("failed callback");
});