Ajax kullanımı oldukça yaygınlaşmaktadır. Web tabanlı uygulamalar Ajax desteği ile çok daha esnek kullanışlı, performanslı bir yapıya kavuşmaktadır.

Benzer belgeler
Basit bir web uygulaması

Algorithm of Your Life. AJAX ve...

Hacettepe Üniversitesi Bilgisayar Müh. Bölümü 2005 Güz Dön. Bil 447 Yazılım Müh. Lab. Dersi Araştırma Çalışması. 1. Giriş Ajax nedir?

AJAX nedir? AJAX nasıl çalışır? AJAX. Tahir Emre KALAYCI. Sunucu Yazılım Teknolojileri

Öğr. Gör. Serkan AKSU 1

YZM 3215 İleri Web Programlama

Web 2.0 Örnek Eğitim Notu

AJAX WITH JQUERY. Ajax Hikayesi MODULE 11

YZM 3215 İleri Web Programlama

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

solid; BORDER-LEFT: #1F9FFF 0px solid; BORDER-RIGHT: #1F9FFF 0px solid; BORDER-TOP: #1F9FFF 0px solid; COLOR: #1F9FFF; FONT-FAMILY: Trebuschet MS;

8. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

4.41. WEB DE GENÇ TEKNİK: AJAX. Fırat Üniversitesi Fen Bilimler Enstitüsü, Elazığ. Fırat Üniversitesi Teknik Eğitim Fakültesi,

JSON Korsanlığı. Mesut Timur, Şubat 2010, WGT E-Dergi 4. Sayı

Üst Düzey Programlama

JAVASCRIPT JAVASCRIPT DİLİ

Üst Düzey Programlama

jquery kütüphanesini sayfaya eklemek için iki yöntem vardır. 1. Direkt jquery nin sitesinden ekleme

Özgür Yazılımlarla Web Programlama. Özlem Özgöbek

API v2 Multi Smart Card ( ) 4- VERİİMZA API ile bir web uygulaması nasıl haberleşir?

Python Web 2.0 Python ve Web 2.0 Son. Python ve Web 2.0. Gökmen GÖKSEL, 3 Mayıs 2007

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

9. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

Web Formlar ve Sayfalar Arasında Bilgi Gönderme. BATML İnternet Programcılığı 1

Google Search API ile ajax arama

WEB FORMLARI. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

PROGRAMLAMA DERSİ 1. İNTERNET

ÖĞRENME FAALİYETİ 1 ÖĞRENME FAALİYETİ 1 1. FORMLAR

SESSİON KULLANIMI. .Aşağıdaki Kodları da SessionDevam.asp adıyla kaydedelim. Language=VBScript Codepage="1254"%>

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9

1 JAVASCRIPT NEDİR? 1

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Aktarımı Çalıştırmak/Geri Almak 146 Alan Seçenekleri 148 Veri Tabanı Şeması 150 Veri Tabanı ile İlgili Bazı Rake Görevleri 162 Modeller 164

JavaScript & DOM XML & JSON

Güncel İnternet Teknolojileri ve PHP 2

EC-485. Ethernet RS485 Çevirici. İstanbul Yazılım ve Elektronik Teknolojileri

Burak Kıymaz JAVA FX

Bölüm 10: PHP ile Veritabanı Uygulamaları

FIRAT ÜNİVERSİTESİ BİLGİSAYAR MÜH.

Web Uygulamaları Mimarileri ve Güvenliği

Start : Bu method init methodundan hemen sonra çalışır ve applet dosyası yürütülmeye başladığında çalışmaya başlar.

PHP 1. Hafta 1. Sunum

Sunucu Taraflı JavaScript ile Gerçek Zamanlı Web Uygulamaları Geliştirme

Pac Dosyası İle Proxy Kullanmak

Bölüm 24. Java Ağ Uygulamaları 24.1 Java Appletleri. Bir Applet in Yaşam Döngüsü:

Programlama Yazılımı ile Web Sitesi Oluşturma

4.47. WEB DE AJAX TEKNĠĞĠNĠN BANT GENĠġLĠK OPTĠMĠZASYONUNA ETKĠSĠ. Zeynep ÖZER 1 ve Asaf VAROL 2

Üst Düzey Programlama

BİLGİSAYAR PROGRAMLAMA Araş. Gör. Ahmet ARDAHANLI. Kafkas Üniversitesi Mühendislik Fakültesi

Üst Düzey Programlama

JavaScript Örnekleri PDF

GEÇERLİLİK KONTROLLERİ VALİDATİON CONTROLS. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

WEB TASARIM I. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu

ARDIŞIL DİYAGRAM YAPI DİYAGRAMI. Sistem Analizi ve Tasarımı Dersi

WEB TASARIMININ TEMELLERİ

Üst Düzey Programlama

EC-232C. Ethernet RS232 Çevirici. İstanbul Yazılım ve Elektronik Teknolojileri

Üst Düzey Programlama

%20dolor%20sit%20amet&receipents= , &sender=PROAKTIF

Asp.Net Veritabanı İşlemleri

ĐSTEMCĐ SUNUCU SĐSTEMLER DERSĐ FĐNAL ÇALIŞMASI SORULAR YANITLAR

Web Programlama Kursu

NESNEYE YÖNELİK PROGRAMLAMA

İNTERNET PROGRAMLAMA II. Tanımlar

ASP.NET 1. DURUM YÖNETİMİ. BLM 318 e-ticaret ve Uyg. Durum Yönetimi Nedir? Durum Yönetimi: Karșılaștırma İÇERİK. Sunucu-taraflı Durum Yönetimi

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Internet ve Bilgi Teknolojileri (BİL 309) Dersi

Tel : 0(532) Web : E-Posta : info@kayikcioglugrup.com. İLETİ PAKETİ API (Entegrason) Dökümanı

um%20dolor%20sit%20amet&receipents= , &sender=ILETICELL İstekte gönderilen parametrelerin açıklamaları aşağıdaki gibidir:

Ç NDEK LER G R fi 1 Bafllamadan Önce 1 Kitab Kimler Okumal? 1 Kitap çerisindeki Örnekler 2 Örneklerin Kullan m 3 Çekinmeden Yaz n 7

İNTERNET PROGRAMCILIĞI DERSİ

FireBug eklentisini eklentiyi yazan sitesinden veya FireFox un eklentiler indirebilirsiniz.

API geliştiricileri. Web server ile yapılan entegrasyonun neticeleri. API Dokumantasyonu

Java Programlama Giriş

CBS Arc/Info Kavramları

HSancak Nesne Tabanlı Programlama I Ders Notları

İNTERNET PROGRAMCILIĞI DERSİ ÇALIŞMA SORULARI

AJAX ARAŞTIMA RAPORU

Web Tasarımının Temelleri

Javascript Ders Örnekleri -2. Tarayıcı Görüntüsü

WEB PROGRAMLAMA. DERS NOTLARI / JavaScript e Giriş YARD. DOÇ. DR. MEHTAP YALÇINKAYA

XML ile Mesaj İşlemleri

Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi

<html> <head> <title>sayfa Başlığı</title> </head> <body> Bu benim ilk sayfam <b>bu metin koyu</b> </body> </html>


1. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

BİL-142 Bilgisayar Programlama II

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Dersin Konusu ve Amaçları: Ders P lanı: Bölüm 1: Bilgi Teknolojilerinde Temel Kavramlar

WEB SAYFASINA AJAX TEKNĠĞĠNĠN UYGULAMASI APPLYING OF AJAX TECHNIQUES TO WEB PAGES

Üst Düzey Programlama

Selahattin Esim CEO


Script. Statik Sayfa. Dinamik Sayfa. Dinamik Web Sitelerinin Avantajları. İçerik Yönetim Sistemi. PHP Nedir? Avantajları.

cofaso ile farkı yaşayın Şubat

Javascript Nedir? Javascript Nedir? JAVASCRIPT NEDİR?

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

WEB PROGRAMLAMA. PHP Temelleri 2. Dr. Erman Yukselturk

PHP (II) Formlar. Dosya İşlemleri. 2002, Sanem SARIEL PHP Ders Notları 2 1. Formlar

İNTERNET PROGRAMCILIĞI HAFTA. PHP ile FORM İŞLEMLERİ. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Form Elemanları Kullanımı

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Transkript:

Ajax'a Giriş Ajax (asynchronous javascript and xml); web tabanlı uygulamalarda, zengin kullanıcı arayüzü ve güçlü arka plan uygulamaları bütünleştiren bir yaklaşım ve geliştirme ortamıdır. Ajax Bu yöntemde tarayıcılar DOM (Document Object Model) ve XMLHttpRequest objelerini kullanırlar. XMLHttpRequest objesi ile PHP, ASP, JAVA, CGI gibi uygulamalara istekler iletilir ve yanıtlar alınır. Bu istek ve yanıtlar DOM nesneleri ile sayfaya yansıtılır. İstekte bulunulması ve yanıtın sayfaya yansıtılması işlemlerinde sayfanın tümüyle yenilenmesi ("submit", gibi) gerkmez. Sadece belirlenmiş olan elemanların durumları veya içerikleri değiştirilir. Ajaxın Avantajları Ajax kullanılan sayfalarda yenileme (refresh) yapılmadığından, kullanıcılar tüm ekranın değişmesini beklemezler. Bu en büyük avantaj olarak düşünülebilir. Ayrıca tüm sayfanın yeniden yüklenmemesi ağ trafiği en aza indirir ve web sunucusunun yükünü azaltır. Kullanıcı olayları(event) çok daha zengindir. Sadece click veya submitle sınırlı değildir. Ajax ile erişilen sunucu taraflı uygulama çeşitliği sınırsızdır. Bir arayüz ile birden çok sunucu taraflı uygulama kullanılabilir bu durum platform bağımlılığını ortadan kaldırır. Web tabanlı uygulamaların genel avantajları Ajax için de geçerlidir. Ajax Kullanım Alanları Ajax kullanımı oldukça yaygınlaşmaktadır. Web tabanlı uygulamalar Ajax desteği ile çok daha esnek kullanışlı, performanslı bir yapıya kavuşmaktadır. Kullanım yerlerine örnek olabilecek bazı konular şunlardır:... otomatik aramalar, bir birine bağlı form seçimleri ve form bilgilerinin yenilenmesi, sunucuya dosya yükleme, veri tabanı sorgulamaları Ajax Alternatifleri ve Kıyaslama Ajax alternatifi olabilecek, zengin kullanıcı arayüzlü ve web tabanlı uygulamalar için; sayılabilir. DHTML, Flash, Java Applets, ActiveX, Macromedia Flex/OpenLaszlo (Flash), Integra AltioLive/Nexaweb (Java Applets) dersmax.net Ajax'a Giriş 1

Ajax ve alternatifi yapıların kıyaslması. Ajax ve alternatifi yapıların farklı konulardaki becerileri. dersmax.net Ajax'a Giriş 2

RIA (Rich Internet Applications) ve desktop uygulamaların kıyaslması, Ajax'lı ve Ajax'sız Çalışma Modelleri dersmax.net Ajax'a Giriş 3

Jesse James Garrett, February 18, 2005 (http://adaptivepath.com/publications/essays/archives/000385.php) Adım Adım Ajax Uygulaması 1. Olay Gelişiyor ve JavaScript Fonksiyonu Çağrılıyor JavaScript uygulamaları "olay" (event) sonuçlarına göre çalışırlar. HTML DOM (Document Object Model) elementlerinde çeşitli olay türleri bulunmaktadır. İlk adım olarak bir form elemanındaki onkeyup olayına göre çağrılan JavaScript fonksiyonunu tanımlayalım. <input type="text" size="20" id="userid" name="id" onkeyup="validate();"> Bu form elemanı her tuşa basılışta (onkeyup) validate() fonksiyonunu çağırmaktadır. 2. XMLHttpRequest Nesnesi Oluşturuluyor ve Ayarlanıyor var req; function validate() { var idfield = document.getelementbyid("userid"); var url = "validate?id=" + escape(idfield.value); if (window.xmlhttprequest) { req = new XMLHttpRequest(); dersmax.net Ajax'a Giriş 4

else if (window.activexobject) { req = new ActiveXObject("Microsoft.XMLHTTP"); req.open("get", url, true); req.onreadystatechange = callback; req.send(null); validate() Fonksiyonu çağrıldığında bir XMLHttpRequest nesnesi oluşturur ve oluşturulan nesne özelliklerini kullanır. Burada IE tarayıcılarının standart dışı nesne oluşturma sınıfları (class) kullanmasından dolayı; tarayıcının hangi Ajax nesnesini desteklediği (Yani bir anlamda IE olup olmadığı) test edilir. Aynı test rutinleri içinde nesne oluşturma işlemi de yapılır. Oluşturulan nesne adı "req" olarak belirlenmiştir (you can named object as your head :) ). open fonksiyonu)ile nesne ile sunucu taraflı (server side) uygulama arasında köprü kurulur. Bu fonksiyon için üç parametre tanımlanmaktadır bunlar: Değişken iletim metodu (GET veya POST), uygulama adresi ve iletişimin asenkron olup olmayacağına ilişkin parametredir (true veya false). Son parametre genelde "true" olarak kullanılır, bu durumda asenkron çalışma olacak, yani sunucu taraflı uygulama sonucu hazırlayıp yollarken ve hatta tüm veri transferi gerçekleşinceye kadar geçen sürede tarayıcı diğer fonksiyonlarını ve süreçlerini takip edebilecek. Bu durum onreadystatechange ile kontrol edilen bir süreçtir. onreadystatechange bir tür olay gibi de algılanabilir. onreadystatechange tüm transferler tamamlandığında callback fonksiyonunu çağırır. Bu fonksiyon ile işlenebilecek verilere sahip nesne ele alınacaktır. 3. XMLHttpRequest Nesnesi İstekte Bulunuyor req.send(null); komutu ile, sunucu taraflı uygulamaya istekte bulunulmuş olur. Eğer GET metodu kullanılıyorsa bu komutta parametre olarak "null" veya boşluk kullanılabilir. Aşağıdaki örnekte "null" yerine (id) parametresi URL ile birlikte gönderilmektedir. Burada kullanılan escape fonksiyonu parametre olarak gönderilecek verinin "URL encode" edilmesini sağlar. Burada unutulmaması gereken GET metodu kullanıldığında tarayıcı veya bası sunucu taraflı uygulamaların kısıtlı bilgi gönderip almasıdır. Bazı durumlarda POST yönteminin tercih edilmesi gerekir. Bu durumlarda Content-Type tanımı yapılması gereklidir. Bu "header" bilgisi XMLHttpRequest nesnesi yardımıyla aşağıdaki şekilde iletilebilir: req.setrequestheader("content-type", "application/x-www-form-urlencoded"); req.send("id=" + escape(idtextfield.value)); 4. İstek Sunucuda Değerlendiriliyor. 2. Maddede url değişkeni ile belirtilen sunucu taraflı uygulama XMLHttpRequest nesnesinin isteği olan işlemleri yapar. Bu işlemler gereksinim duyulan süreçleri tamamlar ve geriye bir değer döndürür. Bu adımlarda beklenilen text alana girilen değerin geçerli olup olmadığının testidir. Bu nedenle var url = "validate?id=" + escape(idfield.value); ile sunucudan bilgi istenmektedir. Burada sunucunun standartlara uygun bir XML çıktı oluşturması beklenir. Bu çıktı isteğe karşı yanıt olarak iletilecektir. Bazı uygulamalarda XML dönüş yerine text veya HTML dönüş beklenebilir. Bu durumda aşağıda açıklandığı gibi dönüş bilgisini isteyen fonksiyon da değişecektir. 5. XMLHttpRequest Nesnesi callback() Fonksiyonunu Çağırıyor ve Veriyi İşliyor XMLHttpRequest nesnesi; readystate özelliği değiştiği anda callback() fonksiyonunu çağırmak üzere düzenlenmiştir. callback()çağrıldığında readystate 4 değerini alırsa, XMLHttpRequest işlemini tamamladı demektir. Eğer status değeri de 200 ise bağlantı işlemin başarıyla yapıldığı anlamı çıkar. function callback() { if (req.readystate == 4) { if (req.status == 200) { // update the HTML DOM based on whether or not message is valid Tarayıcılar web sayfalarını DOM nesneleri ile görüntüler. JavaScript bu DOM elementlerine erişme ve kontrol etme yeteneğine sahiptir. Başarılı bir transfer sonucu Javascript elde edilen bu verileri req.responsexml ile kullanabilecek duruma gelir. Şimdi yanıt olarak alınan aşağıdaki XML çıktısını JavaScript ile nasıl değerlendireceğimize bakalım. <message> valid </message> Örnekteki XML içerik message elementi içinde yer alan valid veya invalid değerini taşımaktadır. function parsemessage() { dersmax.net Ajax'a Giriş 5

var message = req.responsexml.getelementsbytagname("message")[0]; setmessage(message.childnodes[0].nodevalue); parsemessages() fonksiyonu XML veriyi işleyecek bir fonksiyon olarak yazılmıştır. setmessage() fonksiyonu ise tanımlanmış olan HTML DOM elementini güncelleyecek (içeriğini veya değerini değiştirecek) olan fonksiyondur. (Greg Murray, June 9, 2005 "http://java.sun.com/developer/technicalarticles/j2ee/ajax/") Kaynak people.sabanciuniv.edu/alper/calismalar_ajax.html dersmax.net Ajax'a Giriş 6