lostyazilim
tr.link

Değişken tanımlı mı değil mi?

4 Mesajlar 792 Okunma
lstbozum
tr.link

mehmet01 mehmet01 WM Aracı Kullanıcı
  • Üyelik 12.03.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek ...
  • Konum Adana
  • Ad Soyad M** Ç**
  • Mesajlar 665
  • Beğeniler 329 / 328
  • Ticaret 1, (%100)
Aşağıda gördüğünüz üzere ajax ile 123.php sayfasından veri çekip listeliyorum. Eğer yeni mesaj varsa listeleniyor, ama eğer yeni mesaj yoksa 123.php sayfası boş dönderiyor.
Ben ajaxla bunu çekerken success ile html isimli bir değişkene atayıp bir div'e yazdırıyorum ve sonrasında da sayfayı en aşağı indirmek gibi birkaç işlem yapıyorum. Tabi bu birkaç işlemi yapmadan önce html değişkeni boş mu değil mi ona bakmam lazım. Ama yeni mesaj olmamasına rağmen boş görünmüyor sebebi nedir?

Yeni mesaj olmadığını burada nasıl anlicam ben??


$.ajax({
type: "POST",
url: "http://siteadi.com/123.php",
data: "veriler=" + uyeid,
cache: false,
success: function(html){

if(html != null){
$("#mesajListele").append(html);
$('html, body').animate({ scrollTop: '20000px' },1);
}

}
});
 

 

wmaraci
reklam

mehmet01 mehmet01 WM Aracı Kullanıcı
  • Üyelik 12.03.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek ...
  • Konum Adana
  • Ad Soyad M** Ç**
  • Mesajlar 665
  • Beğeniler 329 / 328
  • Ticaret 1, (%100)
Başka bir deyişle: Yeni mesaj olmamasına rağmen "if(html != null){..." kısmı çalışıyor. Çalışmaması lazım.
 

 

Decimas Decimas WM Aracı Kullanıcı
  • Üyelik 19.04.2015
  • Yaş/Cinsiyet 26 / E
  • Meslek Developer
  • Konum İstanbul Avrupa
  • Ad Soyad E** E**
  • Mesajlar 820
  • Beğeniler 1 / 302
  • Ticaret 1, (%100)
Programlama dillerinde ufak tefek farklılıklar dışında ortak bir durum var, dönen değer null mu? empty mi?.

Örnek vermek gerekirse (bool)null türünden bir değer alır, bu değer true/false veya 1/0 (yerine göre) ile koşul ifadelerine bağlanabilir. Peki şu ifade-> (string)"", işte burada string türünden bir değer var ama boş ya da boş görünüyor. Gözle görmesekte bununda bir karşılığı var, yani null değil, bu empty.

Anladıysak şurada ajax ile ilgili ufak bir çözüm sunulmuş.

Uyarlarsak;


if (!$.trim(data)){
alert("Değer boş: '" + data + "'");
}
else{
alert("Değer boş değil: '" + data + "'");
}


Hiç olmazsa bu tip basit durumlarda gelen değerin null mu empty mi olduğunu anlamak istiyorsan onun uzunluğunu almayı dene, karakter uzunluğu > 0'dan tamamdır, değilse muhtemelen empty'dir.

Bu tip durumlarla sık sık karşılacaksın, öğrendiğin programlama dilinin dokömantasyonlarını iyice yalayıp yutmak gerekiyor.
mehmet01

kişi bu mesajı beğendi.

no time for caution

mehmet01 mehmet01 WM Aracı Kullanıcı
  • Üyelik 12.03.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek ...
  • Konum Adana
  • Ad Soyad M** Ç**
  • Mesajlar 665
  • Beğeniler 329 / 328
  • Ticaret 1, (%100)
Çok teşekkürler... Ben javascriptte sadece null ve undefined var sandım. Baktığım örneklerde vs. hep onlardan bahsediyordu. İkisini de denedim olmadı. Şimdi fırst bulunca bunu da denicem. Teşekkürler tekrar...
 

 

wmaraci
wmaraci
wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al