在用户JSON响应不包含项目的情况下,在jQuery中添加一些错误

时间:2016-11-23 13:36:54

标签: javascript jquery json ajax

我有一个jQuery让我在实现if statement时遇到问题。我正在输出一个名为city的项目,如果从响应中找不到它,我想显示:找不到城市。

这就是我所做的:

   

 $.get("http://freegeoip.net/json/", function(parseResponse) {
  if ($("#address") != null){
        $("#address").html("City: " + parseResponse.city);
        $("#details").html(JSON.stringify(parseResponse, null, 4));
    }
  else  {
        $("#city").html("City: Not Found");
    }
}, "jsonp");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<hr/>
<div id="ip"></div>
<div id="address"></div>
<hr/>Full response: <pre id="details"></pre>

  

我做错了什么?我试图将城市写出来,当它不可用时,会显示Not Found

1 个答案:

答案 0 :(得分:1)

通过使用||,如果初始选项为null,为空,则可以使用尾随选项而不是初始选项。

   

 $.get("http://freegeoip.net/json/", function(parseResponse) {
  if ($("#address") != null){
        $("#address").html("City: " + (parseResponse.city || "Not Found."));
        $("#details").html(JSON.stringify(parseResponse, null, 4));
    }
  else  {
        $("#city").html("City: Not Found");
    }
}, "jsonp");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<hr/>
<div id="ip"></div>
<div id="address"></div>
<hr/>Full response: <pre id="details"></pre>