YZM 3215 İleri Web Programlama

Benzer belgeler
YZM 3215 İleri Web Programlama

YZM 3215 İleri Web Programlama

Basit bir web uygulaması

YZM 3215 İleri Web Programlama

YZM 3215 İleri Web Programlama

Algorithm of Your Life. AJAX ve...

YZM 2105 Nesneye Yönelik Programlama

YZM 2105 Nesneye Yönelik Programlama

AJAX WITH JQUERY. Ajax Hikayesi MODULE 11

YZM 2105 Nesneye Yönelik Programlama

YZM 2105 Nesneye Yönelik Programlama

ALGORİTMA VE PROGRAMLAMA II

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

YZM 2108 Yazılım Mimarisi ve Tasarımı

YZM 2105 Nesneye Yönelik Programlama

Web 2.0 Örnek Eğitim Notu

Üst Düzey Programlama

YZM 3215 İleri Web Programlama

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

Üst Düzey Programlama

Üst Düzey Programlama

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

Üst Düzey Programlama

YZM 3102 İşletim Sistemleri Uygulama

Üst Düzey Programlama

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

ALGORİTMA VE PROGRAMLAMA I

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;

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

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

PROGRAMLAMA DERSİ 1. İNTERNET

One ASP.NET. 5 bileşen barındırmaktadır. Web Forms Model View Controller (MVC) Web Pages Web API SignalR

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.

Görsel Programlama DERS 12. Görsel Programlama - Ders12/

ALGORİTMA VE PROGRAMLAMA II

Üst Düzey Programlama

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 4 MasterPage

Pac Dosyası İle Proxy Kullanmak

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA II

İsimler ve Kapsam. Hafta 4 Ders 2 BLG339 PROGRAMLAMA DİLLERİ KAVRAMI

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA II

MOBIL UYGULAMA GELIŞTIRME

YZM 3215 İleri Web Programlama

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

Google Search API ile ajax arama

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

Öğr. Gör. Serkan AKSU 1

ALGORİTMA VE PROGRAMLAMA II

ALGORİTMA VE PROGRAMLAMA I

EMRE CAMADAN KİŞİSEL BİLGİLER EĞİTİM. E-Posta: Cep:

Kültür Varlıklarının Web Otomasyonu

JavaServerFaces. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4

PHP I PHP I. E. Fatih Yetkin. 26 Eylül 2011

Toplu İleti Gönderimi

.com. Özcan Acar 2009 Kurumsal Java.com

YZM 2116 Veri Yapıları

YZM 2116 Veri Yapıları

Bu classı biraz açıklamak gerekirse, tam olarak şu işleri yapıyor.

CBÜ Teknoloji Fakültesi, Yazılım Mühendisliği. Nesneye Yönelik Programlama

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: CME 4414

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

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

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

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

Güncel İnternet Teknolojileri ve PHP 2

Client Server Database

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

ALGORİTMA VE PROGRAMLAMA II

BİH 605 Bilgi Teknolojisi Bahar Dönemi 2015

YZM 2116 Veri Yapıları

İÇİNDEKİLER. YAZARLAR HAKKINDA... v. RESİMLER LİSTESİ...xv. 1.1.Bulut Bilişim Kavramının Analizi...1 BÖLÜM 1: TEMELLER...1

İNTERNET PROGRAMCILIĞI HAFTA MYSQL - PHPMYADMIN. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Mysql Nedir.

YZM 2118 Yazılım Mimarisi ve Tasarımı

ALGORİTMA VE PROGRAMLAMA II

YZM 3215 İleri Web Programlama

ZWCAD İçindekiler. Önemli. Tek Kullanıcı Sürümü Lisans Kodu Kullanarak Yükleme Kılavuzu

BİH 605 Bilgi Teknolojisi Bahar Dönemi 2015

Geliştirici Referans Kılavuzu

EMRE CAMADAN. E-Posta: Cep: KİŞİSEL BİLGİLER. Doğum Tarihi: 28 Haziran 1989 Sürücü Belgesi: B Sınıfı / 2008 EĞİTİM

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ

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

Örnek bir kullanım ve bilgisayar ağlarını oluşturan bileşenlerin özeti

1 / 5. Ali Eren Köseoğlu. Yazılım Uzmanı. İletişim Bilgileri

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 1

ASP.NET ile Bir Web Sitesi Oluşturma

1 FULL STACK DEVELOPMENT NEDIR? 1 Nasıl Full Stack Developer Olurum? 2

VERİ TABANI ve YÖNETİMİ

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

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

Basit Mimari, Katmanlı Mimari ve doğrudan çalıştırma olarak üçe ayrılır.

Kaspersky Open Space Security: Release 2. İşletmeniz için birinci sınıf bir BT güvenliği çözümü

ZWCAD İçindekiler. Önemli. Tek Kullanıcı Sürümü Lisans Kodu Kullanarak Yükleme Kılavuzu

Transkript:

YZM 3215 İleri Web Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1

BÖLÜM - 10 AJAX Bu bölümde; AJAX nedir? AJAX nasıl çalışır? MVC ve AJAX jquery AJAX Uygulaması ile ilgili konular anlatılacaktır. 2

AJAX Nedir? AJAX (Asynchronous JavaScript ve XML), web sayfalarında JavaScript ve XMLHttpRequest ortak kullanımı ile etkileşimli web uygulamaları yaratmaya yarayan web programlama tekniğine verilen addır. Dilimizde AJAX ya da AYAKS şeklinde farklı söylemlere rağmen İngilizce' de 'ey-ceks' olarak okunur.

AJAX Nedir? (devam ) Hızlı ve dinamik web sayfası yapmayı sağlar. AJAX, ilk olarak 2005 yılında Google firmasının sunduğu Google Suggest ile birlikte popüler olmuştur. Aramak için harfleri girdikçe her harf girişi sunucuya gönderilir. Sunucu harfleri değerlendirir ve geriye cevap olarak olası önerileri döner.

AJAX Nasıl Çalışır?

AJAX Avantajları Güncellemelerde sayfanın tamamının değil istenilen kısımların sunucuya gidip gelmesidir. Örnek: Mesela seçilen şehre göre ilçelerin getirilmesi gerektiğini varsayalım. AJAX kullanılmazsa, sayfadaki tüm işlemlerle birlikte şehre bağlı ilçe isteği de sunucuya gider, cevap alınıp sayfanın tamamı tekrar güncellenir. AJAX kullanılırsa, sunucuya sadece şehre bağlı ilçelerin isteği gidip cevap döner ve ekranda gösterilir. Böylece hem zaman kazanmış hem de ağ trafiğini hafifletmiş oluruz. Ayrıca ekrandaki güncelleme daha hızlı olduğu için kullanıcıların beklemesine gerek kalmaz.

(1)XMLHttpRequest Nesnesi AJAX ın kilometre taşıdır. Arka planda istemci ile sunucu arasındaki veri iletişiminde kullanılır. Bu sayede bir web sayfasının sadece belirli bir bölümünün update edilmesine imkan sağlanır. Tüm modern tarayıcılar tarafından desteklenmektedir. Nesne yaratılış biçimi aşağıdaki gibidir: variable = new XMLHttpRequest();

(2)Sunucuya İstek Gönderme Sunucuya istek (request) göndermek için XMLHttpRequest nesnesinin aşağıdaki metotları kullanılır. open() send() Kullanım şekli aşağıdaki gibidir xhttp = new XMLHttpRequest() xhttp.open("get", "localhost/main/index/",true) xhttp.send()

(3)GET mi POST mu? GET daha basit ve daha hızlıdır ve çoğu durumda kullanılabilir. Ancak GET in URL cacheleme problemi vardır. POST kullanımında böyle bir problem yoktur. Ayrıca GET ile sunucuya gönderilebilecek verinin boyutu sınırlıdır, POST ta veri boyutunda sınır yoktur.

(4)Sunucu Cevabı (Response) Gönderilen istek için sunucudan gelen cevabı okumak için XMLHttpRequest nesnesinin aşağıdaki özellikleri kullanılır. responsetext responsexml Kullanımı aşağıdaki gibidir: document.getelementbyid("demo").innerhtml = xhttp.responsetext;

(5) onreadystatechange Event Gönderilen istek sonucunda sunucudan gelen durumlara göre aksiyon almak için XMLHttpRequest nesnesine ait kullanılan eventtir. Event XMLHttpRequest nesnesinin durumu (status) olan readstate her değiştiğinde tetiklenir. Kullanım şekli aşağıdaki gibidir:

(5) onreadystatechange Event

XMLHttpRequest Örnek Kullanım

Örnek1: MVC AJAX Uygulaması Yeni bir ASP.NET MVC projesi oluşturalım. İçerisindeki tüm Controller ı View ları silelim. AJAXController isimli yeni bir controller yaratalım. Index isimli bir tane Action ı olsun. AJAXTest.html dosyasını indirelim ve projemizde AjaxTest isimli bir klasör açıp, dosyayı ekleyelim. https://algoritmaveprogramlama.wordpress.com/

Örnek1: MVC AJAX Uygulaması (devam )

Örnek1: MVC AJAX Uygulaması (devam ) Manuel Action Çağırma

Örnek1: MVC AJAX Uygulaması (devam ) AJAX Get ile Çağırma

Örnek2: jquery AJAX Eklentisi Aynı ASP.NET MVC projesine: ModernController isimli yeni bir controller yaratalım. Şimdilik Index isimli bir tane Action ı olsun. Index View içerisinde 2 tane AJAX Post denemesi yapacağız. Deneme1: SamplePost Deneme2: RandomSayiDon $.get(url,callback); $.post(url,data,callback);

Örnek2: jquery AJAX Eklentisi (devam ) Deneme1: SamplePost View Kısmı <div> </div> <input type="button" value="ajax Post" id="btntest"/> $("#btntest").click(function () { var mesaj = { Baslik: "Baslik", Aciklama: "Aciklma" }; }); $.post("/modern/samplepost", mesaj, function (sonuc) { alert(sonuc); });

Örnek2: jquery AJAX Eklentisi (devam ) Deneme1: SamplePost Controller Kısmı [HttpPost] public JsonResult SamplePost() { return Json("İslem Tamam"); }

Örnek2: jquery AJAX Eklentisi (devam ) Deneme2: RandomSayiDon View Kısmı <div id="rand">sayı</div> //3 saniyede bir Random bir sayı çekiliyor setinterval(function () { $.post("/modern/randomsayidon", "", function (sonuc) { $("#rand").html(sonuc); }); }, 3000);

Örnek2: jquery AJAX Eklentisi (devam ) Deneme2: RandomSayiDon Controller Kısmı [HttpPost] public JsonResult RandomSayiDon() { Random r = new Random(); int sayi = r.next(1, 10000); return Json(sayi); }

Şöyle bir soru gelse Senaryo Bilgi Herhangi bir ORM çatısı kullanmadan, sizin tasarlayacağınız sınıf ve listeyi içeren Broadcast mesaj yayını ekleyen ve bu mesajları listeleyen (Mesaj () + Mesaj Listesi) bir MVC uygulaması yapınız. Neler Olacak? Model içerisinde VeriKatmani.cs (Mesaj+MesajListesi) MesajController (MesajEkleme,MesajListeleme) MesajView (MesajGonderme, MesajListeleme setinterval kullanarak) Bootstrap json AJAX

Yararlanılan Kaynaklar http://www.codeproject.com/articles/207797/learn-mvc- Model-View-Controller-step-by-step-in http://www.questpond.com Kitap: Programming ASP.NET MVC 5 A Problem Solution Approach, Nimit Joshi http://www.dotnet-tricks.com/tutorial/mvc/9khw190712- ViewData-vs-ViewBag-vs-TempData-vs-Session.html http://www.mvcsharp.com/makaledetay/viewdata- ViewBag-TempData-Nedir 24

İYİ ÇALIŞMALAR Yrd. Doç. Dr. Deniz KILINÇ drdenizkilinc@gmail.com deniz.kilinc@cbu.edu.tr 25