Turning gears are the logo of co-scripts

Öncelikle json resmi sayfasındaki javascript içindeki json bölümünü okumanızı salık vereceğim. 

Sunucu ile veri alışverişlerinde artık ajax tekniği kullanılıyor. Ancak çok karmaşık veri yapıları söz konusu olduğunda sıralı veriler veya diziler çözülmesi zor veri kümeleri oluşturuyor. Boş veya beklenen dışında veri tipleri de işi iyice karıştırıyor.

Buna en güzel çözümlerden birisi json. Çünkü nesne, fonksiyon, kod bloğu veya sadece veriyi anlamlı bir şekilde ve hiyerarşik sınıflar içinde taşıyabiliyor.

Örneğin: Canlı türlerini kaydeden bir sayfada tür verileri düzeltme arayüzünde verileri sunucudan çekip anında düzeltme formuna koymak istiyorsanız. Sunucu tarafında js - json formatına uygun hazırlayacağınız verileri ajax ile alıp js içinde çok sade ve kullanışlı bir şekilde düzeltme formuna yerleştirebilirsiniz.

Aşağıda ASP ile hazırlanan tür bilgileri var. Bilgiler en son js-json formatında istemciye gönderiliyor.

 

tid=request("tid")

tbSQL = "SELECT * FROM turler LEFT JOIN (turler_tip,turler_familya,turler_durum) ON (turler_tip.id=turler.tip_id AND turler.familya_id=turler_familya.id AND turler.tur_durum_id=turler_durum.id) WHERE turler.id="&tid

Set turB = conn.Execute(tbSQL)

response.write("OK$$$")

turFotoUzanti = turB("tur_foto_uzanti")

 

jsonVerisi = jsonVerisi & """" &"turId"& """" &":"& """" &turB("id")&  """," 

jsonVerisi = jsonVerisi & """" &"turTipId"& """" &":"& """" &turB("tip_id")&  """," 

jsonVerisi = jsonVerisi & """" &"turFamId"& """" &":"& """" &turB("familya_id")&  """," 

jsonVerisi = jsonVerisi & """" &"turDurId"& """" &":"& """" &turB("tur_durum_id")&  """," 

jsonVerisi = jsonVerisi & """" &"turLatAdi"& """" &":"& """" &turB("tur_latince_isim")&  """," 

jsonVerisi = jsonVerisi & """" &"turFamAdi"& """" &":"& """" &turB("familya_latinceleri")&  """," 

jsonVerisi = jsonVerisi & """" &"turTurAdi"& """" &":"& """" &turB("tur_turkce_isimler")&  """," 

jsonVerisi = jsonVerisi & """" &"turGenBil"& """" &":"& """" &replace(replace(turB("tur_genel_bilgi"),chr(13),"\n"),chr(10),"\n")&  """," 

jsonVerisi = jsonVerisi & """" &"turFotoAdres"& """" &":"& """" &imgKaynak& "/tur-fotograflari/"& Replace(turB("tur_foto_yol"),turFotoUzanti,"_w250"&turFotoUzanti) &  """" 

 

response.Write("{"  & jsonVerisi &  "}")


Daha sonra istemcide ise ajax ile aldığınız  js kullanarak:

 

$.post("turler_action.asp", {isTipi:'turBilgileriniVer',tid:tid}, function(data){

if(data.split('$$$')[0]=='OK')

{

nY('turFormu').style.backgroundColor='pink';

nY('islemDugmesi').style.display='none';

nY('temizlemeDugmesi').style.display='none';

//gelen veriler parse ediliyor

var turJSON = JSON.parse(data.split('$$$')[1]);

// statik metinler doğrudan yerleştiriliyor

nY('tur_latince_isim').value=turJSON.turLatAdi;

nY('tur_turkce_isimler').value=turJSON.turTurAdi;

nY('tur_bilgi').value=turJSON.turGenBil;

var turID = nY('duzeltmeIseTurID');

turID.value = tid;

var tipID = nY('tip_id');

nY('turFotografiSatiri').style.display='none';

nY('yuklemePenceresi').style.display='none';

nY('tur_latince_isim').disabled=true;

// guncelle dugmesinin özelliği değiştiriliyor

// dugmenin idsi -> islemDugmesi

if(!nY('guncellemeDugmesi')){eY('INPUT','dugmeler','guncellemeDugmesi','guncellemeDugmesi','GÜNCELLE','','button');}

dinle('click','guncellemeDugmesi',turuGuncelle);

 

//-------------------------------------------------

nY('imaj').src=turJSON.turFotoAdres;

for(tur=0;tur<tipID.length;tur++)

{

if(tipID.options[tur].value==turJSON.turTipId){tipID.options[tur].selected=true;}

}

var tFAM = nY('familya_id');

for(tur=0;tur<tFAM.length;tur++)

{

if(tFAM.options[tur].value==turJSON.turFamId){tFAM.options[tur].selected=true;}

}

var tDID = nY('tur_durum_id');

for(tur=0;tur<tDID.length;tur++)

{

if(tDID.options[tur].value==turJSON.turDurId){tDID.options[tur].selected=true;}

}

 

 

}

else

{

alert('Teknik bir sorun oluştu, lütfen programcıya bilgi veriniz.');

}

}

);

 

 

Not: Ajax için jquery kullanıldı. parse etmeden de native json destekli browserlarda json verisi kullanılabilir. Ayrıca json ile nesne ve fonksiyonların da (fonksiyonlar da birer nesne olduklarından) doğrudan aktarılıp kullanılabilirler.
co-scripts tag image jsonjavascript ve jsonajax ile json
ID:257 | Okunma:2041