2015-04-27 4 views
1

Используя API Sunlight Congress, чтобы вытащить список представителей, я бы хотел вернуть псевдонимы людей, если они используются. Если представитель не использует ник, API возвращает «null».Простой оператор jQuery if API возвращает «null»

Я испортил синтаксис для оператора if. Вот мой последний ошибочный подход:

if (rep.nickname == 'null'){myFolks += rep.first_name + ' ';} 

Вот полный контекст:

$(document).ready(function() { 
$('#rep-lookup').submit(function(e){ 
    e.preventDefault(); 

    var $results = $('#rep-lookup-results'), 
     zipcode = $('#txt-zip').val(), 
     apiKey = '_YOUR_API_KEY'; 

    var requestURL = 'http://congress.api.sunlightfoundation.com/legislators/locate?callback=?'; 

    // collect the data 

    $.getJSON(requestURL, { 
     'apikey' : apiKey, 
     'zip' : zipcode, 
    }, function(data){ 
     if (data.results && data.results.length > 0) { 

      var myFolks = '<p>Here are your Congress folk:</p>'; 

      $.each(data.results, function(i, rep) { 
        myFolks += '<p>'; 
        myFolks += '<a href="' + rep.contact_form + '" target="_blank">'; 
        myFolks += rep.nickname; 
         if (rep.nickname == 'null'){myFolks += rep.first_name + ' ';} 
        myFolks += rep.last_name + ' '; 
        myFolks += '</a>'; 
        myFolks += '</p>'; 
      }); 

      myFolks += '<p>Please write to them in support of this legislation.</p>'; 

      $results.html(myFolks); 
     } else { 
      $results.html('<p>None found for zip code ' + zipcode + '. Please try again.</p>'); 
     } 
    }); 

}); 
}); 
+3

Вы уверены, что API возвращает * строку * '" нулевой «'? Он может возвращать объект «null». –

+0

также вы используете его, прежде чем вы даже проверите, существует ли он или нет. – charlietfl

+1

'myFolks + = (rep.nickname && rep.nickname! ==" null ")? rep.nickname: rep.first_name + ''; '? –

ответ

1
myFolks += (rep.nickname && rep.nickname !== "null") ? rep.nickname : rep.first_name + ' '; 

через: @tomcreighton

Смежные вопросы