Facebook API возвращает ноль, как пропустить это в Javascript - PullRequest
0 голосов
/ 22 ноября 2010

Этот код отлично работает, если не возвращены нулевые значения. Но во время тестирования я заметил, что если какое-либо значение равно нулю, оно выдает ошибку и прерывает остальную часть сценария.

Как я могу пропустить значение, если оно равно нулю, или установить его на другое значение.

function fqlQuery(){
                FB.api('/me', function(response) {
                     var query = FB.Data.query('SELECT uid, first_name, last_name, email, sex, pic_square, timezone, birthday_date, current_location FROM user WHERE uid = me()', response.id);
                     query.wait(function(rows) {
                        fb_uid = rows[0].uid;
                        first_name = rows[0].first_name;
                        last_name = rows[0].last_name;
                        sex = rows[0].sex;
                        email = rows[0].email;
                        fb_pic_square = rows[0].pic_square;
                        timezone = rows[0].timezone;
                        birthday_date = rows[0].birthday_date;
                        current_city = rows[0].current_location.city;
                        current_country = rows[0].current_location.country;
                        $.ajax({
                            type: "POST",
                            url: "postdb.php",
                            data: "first_name=" + first_name + "&last_name=" + last_name + "&email=" + email + "&fb_uid=" + fb_uid + "&sex=" + sex + "&fb_pic_square=" + fb_pic_square + "&timezone=" + timezone + "&birthday_date=" + birthday_date + "&current_city=" + current_city + "&current_country=" + current_country,

   success: function(msg){
     alert( "Data Saved: " + msg );
   }

                        });



                     });

                });

спасибо заранее.

Ответы [ 2 ]

0 голосов
/ 22 ноября 2010

Я исправил это так.

if(rows[0].current_location != null){
  current_city = rows[0].current_location.city || "";
  current_country = rows[0].current_location.country || "";
}
0 голосов
/ 22 ноября 2010
var foo = rows[0].foo || "";

вернет "" (пустая строка), если rows[0].foo равно нулю.

...