16 Mayıs 2009 Cumartesi

0

Stringler Kodmuş Gibi Çalıştırmak İçin: eval()

Posted in , , , ,
AJAX web dünyasına sunduğu avantajlar sayesinde haklı bir popülerliğe sahip. Haliyle gün geçtikçe AJAX kullanan sayfaların sayısı artıyor. Birçoğumuz sayfalarında gereken verileri AJAX ile çekip yayımlıyoruz. Açıkçası bu veriler sadece yayımlanacak şeylerse bir problem olmuyor. Ancak zaman oluyor ki AJAX ile sunucumuzdanjavascript kodları çekiyoruz ve bu kodları çalıştıramadığımızı görüyoruz. İşte bu nokta da yardımımıza javascript in sevimli fonksiyonu eval() yetişiyor.

eval() Nedir? Yenir Mi İçilir Mi?

eval(), string halindeki javascript komutlarını çalıştıran bir fonksiyondur. Bir örnek yapmak gerekirse;

var calistirilacak = "alert(\"Merhaba Dünya\")";

Bu stringi çalıştırmak için yapmamız gereken tek şey değişkenimizi eval() e göndermek;

eval(calistirilacak);

Şimdi bir de AJAX & eval() kombinasyonunu inceleyelim.
index.html
var XHttp; //XMLHttpRequest nesnesi
var veri; //AJAX ile çektiğimiz kodları saklayacağımız değişken

if(navigator.appName == "Microsoft Internet Explorer")
{XHttp = new ActiveXObject("Microsoft.XMLHTTP");}
else{XHttp = new XMLHttpRequest();}

function veri_gonder()
   {
   XHttp.open('get', 'processor.php');
   XHttp.onreadystatechange = function ()
      {
      if(XHttp.readyState == 4)
         {
         veri = XHttp.responseText;
         eval(veri);
         }
      }
      XHttp.send(null);
   }


processor.php
<?php echo("alert(\"Merhaba Dünya\")"); ?>

0 yorum: