ajax



  • warning: Creating default object from empty value in /home/hanci/domains/hanci.org/private_html/modules/taxonomy/taxonomy.pages.inc on line 33.
  • user warning: Table './mc_hanciorg/cache_form' is marked as crashed and last (automatic?) repair failed query: UPDATE cache_form SET data = 'a:21:{s:6:\"choice\";a:3:{s:5:\"#type\";s:6:\"radios\";s:14:\"#default_value\";i:-1;s:8:\"#options\";a:7:{i:0;s:35:\"Sitede var olan içerik ve yazılar\";i:1;s:38:\"Sitenin görsel tasarımı ve renkleri\";i:2;s:54:\"Ziyaretçinin siteye yazılar ekleyip yorumlayabilmesi\";i:3;s:46:\"Sitenin adresi ve arama motorunda listelenmesi\";i:4;s:73:\"İnsanların çok fazla ziyaret ediyor olması ve onlarla iletişim ağı\";i:5;s:44:\"Sitenin arkaplan yazılımı ve alt yapısı\";i:6;s:47:\"Ben farklı şeyler düşünüyorum yazacağım\";}}s:4:\"vote\";a:3:{s:5:\"#type\";s:6:\"submit\";s:6:\"#value\";s:6:\"Oy ver\";s:7:\"#submit\";a:1:{i:0;s:9:\"poll_vote\";}}s:5:\"#node\";O:8:\"stdClass\":37:{s:3:\"nid\";s:2:\"72\";s:4:\"type\";s:4:\"poll\";s:8:\"language\";s:2:\"tr\";s:3:\"uid\";s:1:\"1\";s:6:\"status\";s:1:\"1\";s:7:\"created\";s:10:\"1266655218\";s:7:\"changed\";s:10:\"1266655313\";s:7:\"comment\";s:1:\"2\";s:7:\"promote\";s:1:\"1\";s:8:\"moderate\";s:1:\"0\";s:6:\"sticky\";s:1:\"1\";s:4:\"tnid\";s:1:\"0\";s:9:\"translate\";s:1:\"0\";s:3:\"vid\";s:2:\"72\";s:12:\"revision_uid\";s:1:\"1\";s:5:\"title\";s:37:\"Web sitesinde hangisi daha önemlidir\";s:4:\"body\";s:0:\"\";s:6:\"teaser\";s:358:\"* Sitede var olan içerik ve yazılar\n* Sitenin görsel tasarımı ve renkleri\n* Ziyaretçinin siteye yazılar ekleyip yorumlayabilmesi\n* Sitenin adresi ve arama motorunda listelenmesi\n* İnsanların çok fazla ziyaret ediyor olması ve onlarla iletişim ağı\n* Sitenin arkaplan yazılımı ve alt yapısı\n* Ben farklı şeyler düşünüyorum yazacağım\n\";s:3:\"log\";s:0:\"\";s:18:\"revision_timestamp\";s:10:\"1266655313\";s:6:\"format\";s:1:\"0\";s:4:\"name\";s:5:\"hanci\";s:7:\"picture\";s:0:\"\";s:4:\"data\";s:120:\"a:3:{s:7:\"contact\";i:0;s:18:\"admin_compact_mode\";b:1;s:13:\"form_build_id\";s:37:\"form-5bb20dab86db6430977269d8df6a74bb\";}\";s:7:\"runtime\";s:1:\"0\";s:6:\"active\";s:1:\"1\";s:6:\"choice\";a:7:{i:0;a:3:{s:6:\"chtext\";s:35:\"Sitede var olan içerik ve yazılar\";s:7:\"chvotes\";s:4:\"5686\";s:7:\"chorder\";s:1:\"0\";}i:1;a:3:{s:6:\"chtext\";s:38:\"Sitenin görsel tasarımı ve renkleri\";s:7:\"chvotes\";s:3:\"308\";s:7:\"chorder\";s:1:\"1\";}i:2;a:3:{s:6:\"chtext\";s:54:\"Ziyaretçinin siteye yazılar ekleyip yorumlayabilmesi\";s:7:\"chvotes\";s:3:\"211\";s:7:\"chorder\";s:1:\"2\";}i:3;a:3:{s:6:\"chtext\";s:46:\"Sitenin adresi ve arama motorunda listelenmesi\";s:7:\"chvotes\";s:3:\"182\";s:7:\"chorder\";s:1:\"3\";}i:4;a:3:{s:6:\"chtext\";s:73:\"İnsanların çok fazla ziyaret ediyor olması ve onlarla iletişim ağı\";s:7:\"chvotes\";s:3:\"216\";s:7:\"chorder\";s:1:\"4\";}i:5;a:3:{s:6:\"chtext\";s:44:\"Sitenin arkaplan yazılımı ve alt yapısı\";s:7:\"chvotes\";s:3:\"207\";s:7:\"chorder\";s:1:\"5\";}i:6;a:3:{s:6:\"chtext\";s:47:\"Ben farklı şeyler düşünüyorum yazacağım\";s:7:\"chvotes\";s:3:\"412\";s:7:\"chorder\";s:1:\"6\";}}s:10:\"allowvotes\";b:1;s:4:\"vote\";i:-1;s:4:\"path\";s:47:\"anket/web-sitesinde-hangisi-daha-onemlidir.html\";s:22:\"last_comment_timestamp\";s:10:\"1266655218\";s:17:\"last_comment_name\";s:0:\"\";s:13:\"comment_count\";s:1:\"0\";s:8:\"taxonomy\";a:0:{}s:5:\"files\";a:0:{}s:8:\"readmore\";b:0;s:5:\"links\";a:3:{s:11:\"comment_add\";a:4:{s:5:\"title\";s:15:\"Yeni yorum ekle\";s:4:\"href\";s:16:\"comment/reply/72\";s:10:\"attributes\";a:1:{s:5:\"title\";s:31:\"Bu sayfaya yeni bir yorum ekle.\";}s:8:\"fragment\";s:12:\"comment-form\";}i:0;a:3:{s:5:\"title\";s:13:\"Eski anketler\";s:4:\"href\";s:4:\"poll\";s:10:\"attributes\";a:1:{s:5:\"title\";s:43:\"Sitedeki anketlerin listesini görüntüle.\";}}i:1;a:3:{s:5:\"title\";s:9:\"Sonuçlar\";s:4:\"href\";s:15:\"node/72/results\";s:10:\"attributes\";a:1:{s:5:\"title\";s:28:\"Güncel anketi görüntüle.\";}}}}s:6:\"#block\";b:1;s:6:\"#cache\";b:1;s:6:\"#theme\";s:9:\"poll_vote\";s:11:\"#parameters\";a:4:{i:0;s:16:\"poll_view_voting\";i:1;a:3:{s:7:\"storage\";N;s:9:\"submitted\";b:0;s:4:\"post\";a:0:{}}i:2;r:18;i:3;b:1;}s:9:\"#build_id\";s:37:\"form-adc881ce56fd577983d2d98aa8cce7f5\";s:5:\"#type\";s:4:\"form\";s:11:\"#programmed\";b:0;s:13:\"form_build_id\";a:4:{s:5:\"#type\";s:6:\"hidden\";s:6:\"#value\";s:37:\"form-adc881ce56fd577983d2d98aa8cce7f5\";s:3:\"#id\";s:37:\"form-adc881ce56fd577983d2d98aa8cce7f5\";s:5:\"#name\";s:13:\"form_build_id\";}s:7:\"form_id\";a:3:{s:5:\"#type\";s:6:\"hidden\";s:6:\"#value\";s:16:\"poll_view_voting\";s:3:\"#id\";s:21:\"edit-poll-view-voting\";}s:3:\"#id\";s:16:\"poll-view-voting\";s:12:\"#description\";N;s:11:\"#attributes\";a:0:{}s:9:\"#required\";b:0;s:5:\"#tree\";b:0;s:8:\"#parents\";a:0:{}s:7:\"#method\";s:4:\"post\";s:7:\"#action\";s:13:\"/konumuz/ajax\";s:9:\"#validate\";a:1:{i:0;s:25:\"poll_view_voting_validate\";}}', created = 1566577190, expire = 1566598790, headers = '', serialized = 1 WHERE cid = 'form_form-adc881ce56fd577983d2d98aa8cce7f5' in /home/hanci/domains/hanci.org/private_html/includes/cache.inc on line 112.

AJAX Puanlama Uygulaması

Kısa Bilgi
Ajax-Tr sitesinde yazıların her birinin altında görebileceğiniz,
yazıyı puanlama mekanizmasının benzerini kendi sitenizdeki; yazılar,
makaleler, haberler gibi her türlü metin içerikli bölüme uygulamak
istiyorsanız AJAX sizin için çok iyi bir çözümdür. Bu yazıda elimden
geldiğince bu mekanizmanın AJAX ile nasıl yapılabileceğini
göstereceğim. Bunu yaparken de prototype.js’nin hazır AJAX
fonksiyonlarından faydalanacağım. Tabii siz isterseniz aynı
uygulamayı kendi kütüphanenizi, eyceks kütüphanesini ya da bir başka
kütüphaneyi kullanarak yazabilirsiniz.

Dosyalar

AJAX ile Eş Zamanlı Form Kontrolü

Kısaca konuyu anlatmak
gerekirse eski usulde form kontrolünde tüm formu doldururdunuz ve
bittiği zaman "Gönder" düğmesine basardınız. Eğer girmiş olduğunuz
kullanıcı adı veya e-posta adresi başkası tarafından kullanılıyorsa
ancak tüm formu doldurup gönderdikten sonra bunu öğrenebilirdiniz.
Oysa ki AJAX ile o an doldurmuş olduğunuz metin kutusunu eş zamanlı
olarak kontrol edilmesini sağlama imkanınız var. Yani kontrolü,
gönder butonuna basmadan önce, form elemanı doldurulduğu anda
yapabileceğinizi kastediyorum. Konuyu anlatırken AJAX-TR için
hazırladığım ve AJAX Tab Kontrol ismini verdiğim örnek uygulamayı

AJAX İle Yerinde Düzenleme

Bu yazımızda AJAX'in
kullanılabileceği yerler arasında özellikle veritabanı
uygulamalarında işimizi oldukça kolaylaştıran Yerinde Düzenleme (Edit
In Place) işlemini inceleyeceğiz. Konuyu daha iyi anlatabilmek için
yine örnek bir uygulama hazırladık. Erhan (eburhan) tarafından
yazılmış olan AJAX Yerinde Düzenleme Betiği'ni size ben anlatacağım.
Neden böyle oldu derseniz, aslında kodları da ben yazacaktım fakat
eburhan'ın zaten önceden kendisi için hazırladığını öğrendim.
Kodlarını biraz düzenleyip gönderdi. Bize de anlatmak kaldı

Önce Mantık

AJAX İle Dosya Göndermek

AJAX’in artık bir çok
farklı alanda kullanılabileceğini eburhan‘ın AJAX Ne Gibi Durumlarda
Kullanılmalı? başlıklı yazısında gördük. Gelin bunlara bir de AJAX
ile sitemize dosya göndermeyi ekleyelim. Bunun nasıl yapıldığını
kendi yazmış olduğum AJAX Göndermeç isimli betik ile anlatmaya
çalışacağım. Konu hakkında biraz daha ipucu vermek gerekirse AJAX
ile dosya göndermenin mümkün olup olmadığını göreceğiz.

AJAX ile dosya göndermenin mantığı
Yukarıda AJAX ile dosya göndermenin mümkün olup olmadığını
göreceğimizi söylemiştim. Şimdi de cevabını veriyorum; malesef

Ajax İle Filtreleme

Dosyalar
Bu uygulamada anasayfayı oluşturan index.php, filitrelemenin
yapıldığı filitrele.php, oyuncuların özelliklerini göstermek
istediğim oyuncu.php dosyası ve eyceks kütüphanesi içindeki dosyalar
(loading.gif , eyceks.js) bulunmaktadır .

Başlıyoruz . . .
İlk olarak uygulamamıza filitrenin nasıl edileceği konusunda karar
vermemiz lazım. Bu uygulamada aynı zamanda ajax'te Dinamik Formları
da kullanmış olacağım. Biliyorsunuz ajax'in diğer bir güzel özelliği
ise Dinamik Formlar'dır. Dinamik formdan kastım isteğimize o anda

AJAX - XML ile Çalışmak

XML’e Giriş başlıklı
yazımda XML’in hangi durumlarda kullanılabileceğini açıklamıştım. Bu
yazıda ise kendi XML belgelerimizi ne şekilde oluşturabileceğimizi
göreceğiz. Ayrıca yazının sonunda XML belgeleriyle çalışabilmeniz
için bir kaç araçtan da bahsedeceğim.

Yazılarımda hep vurguluyorum: XML’de patron sizsiniz. Bilmeniz veya
ezberlemeniz gereken çok fazla özelleşmiş sözcük (KEYWORD) yok.
Fakat yazdığınız belgelerin uygulamalar tarafından sorunsuzca
değerlendirilebilmesi için bazı yazım kurallarını bilmeniz gerekir.

AJAX - XML’e Giriş

Merhabalar Arkadaşlar.
Yazının başlığından da anlayabileceğiniz gibi sizlere XML hakkında
önemli bilgiler veren bir yazı dizisi sunacağım. Bu yazı da serinin
ilk yazısı olacak. AJAX-TR‘ de XML’ in konu olarak yer almasının
temel nedeni AJAX ile uygulama geliştirirken sizlere XML bilgisinin
de lâzım olacak olmasıdır. Ayrıca sadece bu alanda değil uygulama
geliştireceğiniz pek çok alanda XML’den faydalanabilirsiniz. Günden
güne popülerliği artan XML’in neden bu kadar önemli olduğunu
öğrenmek istiyorsanız öncelikle XML NEDİR (NEDEN BU KADAR ÖNEMLİ)
başlıklı yazımı okumanızı tavsiye ederim. Bu yazıda ise XML’in

AJAX Asenkron ve Senkron Meselesi

AJAX’i Anlamak yazısında
AJAX’i tarif ederken açılımının Asenkron Javascript ve XML olduğunu
söylemiştik. Buradaki Javascript’i ve XML’i mutlaka bir yerlerden
duymuşsunuzdur fakat Asenkron neyin nesi hiç merak ettiniz mi? Neden
senkron değil de asenkron? Asenkron ve senkron arasındaki fark
nedir? Birbirlerine karşı avantajları ve dezavantajları var mıdır?
Yazımızda bu sorulara cevap arayacak, AJAX tanımı içerisinde neden
Asenkron kullandığını belirlemeye çalışacağız.

30 saniyede AJAX yazısında da belirtildiği gibi AJAX tekniğinin

30 Saniyede AJAX

Bu yazımla kodlara ilk
adımımızı atacağız ve AJAX'in çekirdeği olan XMLHTTPREQUEST
nesnesinin kullanımını göreceğiz.

Konuyu daha somut olması açısından bir örnekle anlatacağım.
Örneğimizde bir kutu ve buton bulunuyor. Kutuya girilen isim eğer "ajax-tr"
ise sonuç "Tamam" değilse "Hata!" olacaktır.

XMLHTTPREQUEST nesnesini çağırma
Önce en basit haliyle XMLHTTPREQUEST nesnesinin çağırılışını
görelim.
(Birinci yöntem)

PLAIN TEXTPHP:
nesne = new XMLHttpRequest();

AJAX Öneri Kaynak Kodu

AJAX Öneri Örneğinin Kaynak Kodu
Aşağıdaki kaynak kodlar önceki sayfadaki AJAX örneğine aittir.
Kodları kopyalayıp siz de deneyebilirsiniz.

AJAX HTML Sayfası

Bu HTML sayfasıdır. Bu sayfa basit bir HTML formu ve bir JavaScript koduna bağlantı içerir.

AJAX İle Öneri

AJAX Öneri Örneği
Aşağıdaki ajax örneğinde, bir kullanıcı standart bir HTML formuna
veri girerken web sayfasının sunucu ile nasıl iletişim kurabileceğini
göreceğiz.

 Bir isim girin

İsim:

Öneriler:

Örneğin açıklaması - HTML Formu

Yukarıdaki form aşağıdaki HTML koduyla oluşturulmuştur:

AJAX İle Sunucuya İstek Göndermek

Sunucuya bir istek göndermek için open() ve send() işlevlerini kullanırız.
open() işlevi üç parametre alır. İlk parametre istekte bulunurken
hangi yöntemin kullanılacağını belirtir (GET yada POST). İkinci
parametre sunucudaki betiğin url adresini belirtir. Üçüncü parametre ise
isteğin asenkron (eşzamansız) olarak ele alınacağını belirtir. send()
işlevi isteği sunucuya gönderir. Eğer HTML ve (eğer sunucuda PHP dilini
kullanıyorsak) PHP dosyalarının aynı dizinde olduğunu varsayarsak kod
şöyle olacaktır:

AJAX İle XMLHttpRequest Nesnesi

Sunucuya veri göndermeden önce, XMLHttpRequest nesnesinin üç önemli özelliğini açıklamamız gerekiyor.
onreadystatechange özelliği
Sunucuya bir istek gönderilmesinden sonra, sunucudan dönen veriyi alabilecek bir işleve ihtiyacımız var.
onreadystatechange özelliği sunucunun yanıtını işleyecek olan
fonksiyonu tutar. Aşağıdaki kod boş bir fonksiyon tanımlar ve aynı
zamanda onreadystatechange özelliğini ayarlar:

AJAX Tarayıcı Desteği

AJAX 'ın temeli XMLHttpRequest nesnesidir.
Farklı tarayıcılar XMLHttpRequest nesnesini yaratmak için farklı işlevler kullanırlar.
Internet Explorer bir ActiveXObject kullanırken, diğer tarayıcılar XMLHttpRequest adı verilen Javascript nesnesini kullanırlar.

Bu projeyi oluşturmak ve farklı tarayıcılarla başa çıkmak için bir "try - catch" ifadesi kullanacağız.
Önceden oluşturduğumuz "testAjax.htm" dosyamızı XMLHttpRequest nesnesini oluşturan Javascript kodumuzla güncelleyelim.:

AJAX Örneği

Ajax 'ın nasıl çalıştığını anlamak için küçük bir ajax uygulaması oluşturacağız.
İlk önce, username ve time adında iki metin girişi bulunan standart
bir HTML formu oluşturacağız. username alanı kullanıcı tarafından
doldurulacak ve time alanı AJAX tarafından doldurulacak.
Oluşturduğumuz HTML dosyasının adı "testAjax.htm" olsun (bu formda gönder tuşunun olmadığına dikkat edin!):

<html><body>
<form name="myForm">Name: <input type="text" name="username" />Time: <input type="text" name="time" /></form>
</body></html>

AJAX Http İstemleri

AJAX Http İstemleri kullanır

Geleneksel JavaScript kodlarında, eğer sunucudaki bir veritabanından
yada dosyadan bilgi almak isterseniz, yada sunucuya kullanıcı girdisini
göndermek isterseniz bir HTML formu oluşturup GET yada POST
yöntemlerinden biriyle sunucuyla veri alışverişi yaparsınız. Kullanıcı
veriyi göndermek/almak için formdaki "Gönder" vb. bir düğmeyi tıklar,
sunucunun yanıtını bekler ve sonuçları yeni yüklenen sayfada görür.
Kullanıcının her veri girişinde sunucunun yeni bir sayfa
oluşturmasını beklemesi nedeniyle geleneksel internet uygulamaları daha
yavaş çalışabilir ve daha az kullanıcı dostu olabilir.
Ajax ile, Javascript kodunuz XMLHttpRequest nesnesini kullanarak doğrudan sunucuyla iletişime geçer.

AJAX Nedir ?

AJAX, "Asynchronous JavaScript And XML" 'in kısaltılmışıdır.
Ajax bir programlama yöntemidir ve 2005 yılında Google Suggest hizmetiyle popüler olmaya başlamıştır.
Ajax bir programlama dili değildir sadece mevcut programlama dillerinin yeni bir kullanım yöntemidir.
Ajax ile daha iyi, hızlı ve kullanıcı dostu internet uygulamaları geliştirebilirsiniz.
Ajax Javascript ve HTTP istekleri üzerine kurulu bir yöntemdir.AJAX "Asynchronous JavaScript And XML" 'in kısaltılmışıdır.

Derse başlamadan önce bilmeniz gerekenler
Derse başlamadan önce aşağıdakiler hakkında temel olarak bilgi sahibi olmanız gerekir:

Anket

Web sitesinde hangisi daha önemlidir:
İçeriği paylaş