2012-03-29 140 views
2

我正在使用以下代码从我的数据库中提取数据并用google地图绘制点。我想要做的就是,“如果response = null,alert('empty')”,但每次我尝试在代码中使用它时,都会发生一些事情。如果任何人都可以提供任何可能的帮助。 这是我的代码:Jquery ajax检查结果是否为空

<script type="text/javascript"> 
$(function() 

{ 
    var radius3 = localStorage.getItem("radius2"); 
    var lat3 = localStorage.getItem("lat2"); 
    var long3 = localStorage.getItem("long2"); 
    var type2 = localStorage.getItem("type2"); 
    var citya = localStorage.getItem("city2"); 
    var rep2 = localStorage.getItem("rep2"); 
    var size2 = localStorage.getItem("size2"); 
    var status2 = localStorage.getItem("status2"); 


    $.ajax({ 
     url: 'http://examplecom/test/www/base_search.php', 
     data: "city2=" + city2 + "&rep2=" + rep2 + "&status2=" + status2 + "&size2=" + size2 + "&type2=" + type2 + "&long2=" + long2 + "&lat2=" + lat2 + "&radius2=" + radius2, 
     type: 'post', 
     dataType: 'json', 
     success: function (data) { 
      if (data) { 
       $.each(data, function (key, val) { 


        var lng = val['lng']; 
        var lat = val['lat']; 
        var id = val['id']; 
        var name = val['name']; 
        var address = val['address']; 
        var category = val['category']; 
        var city = val['city']; 
        var state = val['state']; 
        var rep = val['rep']; 
        var status = val['status']; 
        var size = val['size']; 
        $('div#google-map').gmap('addMarker', { 
         'position': new google.maps.LatLng(lat, lng), 
         'bounds': true, 
         'icon': 'images/hospital.png' 
        }).click(function() { 
         $('div#google-map').gmap('openInfoWindow', { 
          'backgroundColor': "rgb(32,32,32)", 
          'content': "<table><tr><td>Name:</td><td>" + name + "</td></tr><tr><td>Address:</td><td>" + address + ", " + city + "&nbsp;" + state + "</td></tr><tr><td>Category:</td><td>" + category + "</td></tr><tr><td>Rep:</td><td>" + rep + "</td></tr><tr><td>Status:</td><td>" + status + "</td></tr><tr><td>Size:</td><td>" + size + "</td></tr></table>" 
         }, this); 


        }); 
       } else { 
        alert('hello'); 
       } 
       } 
      }) 

    } 
    }); 


}) 
} 



</script> 
+0

你在哪里放'if(data)'? – gpasci 2012-03-29 15:54:43

+0

对不起,我只是更新了上面的代码,我发布了修改后的代码 – 2012-03-29 16:00:37

+0

它工作吗?在脚本的末尾有一些嵌套错误 – gpasci 2012-03-29 16:04:55

回答

11

喜欢的东西

success: function (data) { 
    if(!data) { 
     alert('empty'); 
     return; 
    } 
    $.each(data, function (key, val) { ... 

应该工作。

+0

谢谢你这么多工作! – 2012-03-29 16:03:17

+2

@Nic - 我想知道如果我的回答没有为你工作,这是如何工作的。 – ShankarSangoli 2012-03-29 16:05:34

+1

@ShankarSangoli我真的不知道,我几乎删除了我的答案,当我看到你基本上发布了完全相同的东西!但很高兴它帮助:-) – Ben 2012-03-29 16:19:48

3

是这样的?

 success: function (data) { 
      if(data){ 
       //do your stuff here 
      } 
      else{ 
       alert('empty'); 
      } 

     } 
+0

是的,我认为这将工作让我试试吧 – 2012-03-29 15:55:16

+0

所以我试了这个,它似乎没有工作,我张贴我修改的代码上面 – 2012-03-29 15:58:53

3

就是这样的!

success: function (data) { 
if(data.length == 0) { 
    alert('empty'); 
    return; 
}