ana sayfa hakkında forum (yeni) rss takibi reklam yerleşimi iletişim giriş

İçerik Kategorileri

  1. Active Server Pages
    1. Temel Konular [13]
    2. Genel İçerikler [12]
    3. Nesne Kütüphanesi [0]
    4. Form Elemanları [4]
    5. Döngü İfadeleri [3]
    6. Veritabanı İşlemleri [7]
    7. Fonksiyonlar [2]
    8. Hatalar ve Çözümleri [16]
  2. ASP Hızlı Referans
    1. TextStream Nesnesi [7]
    2. Response Nesnesi [1]
    3. Request Nesnesi [1]
    4. Application Nesnesi [1]
    5. Session Nesnesi [4]
    6. Server Nesnesi [0]
    7. FSO Nesnesi [4]
  3. Browser Scripting
    1. VBScript [4]
    2. SQL Sorgulama [4]
  4. MySQL [0]
  5. Uygulamalar
    1. Hazır Fonksiyonlar [3]
    2. Hazır Kodlar [9]
    3. Script Algoritmaları [3]
    4. Script Geliştiriyoruz [2]

Sitede Ara


Hosting Sponsorumuz

Mar

22

ASP ile Ajax Kullanımı

Genel İçerikler34 yorum8330 izlenimsrcnckr

ASP ile ajax kullanımı hakkında basit bir işlem yapacağız. XMLHttpRequest nesnesi oluşturup formdaki bir bilgiyi nasıl post edeceğiz öğreneceğiz.


Öncelikle AJAX hakkında bilgi edinmenizi, nedir, neye yarar gibi soruların yanıtını bulmanız gerekmektedir.

Ajax fonksiyonlarını vererek kodlarda gerekli açıklamaları yaparak konuyu anlatıyorum.

function yeni_nesne(){
     var nesneyarat;
     /*@cc_on @*/
     /*@if (@_jscript_version >= 5) try { nesneyarat = new ActiveXObject("Msxml2.XMLHTTP"); }
     catch (e) {
          try { nesneyarat = new ActiveXObject("Microsoft.XMLHTTP"); }
          catch (E) { nesneyarat = false; }
     }@end @*/
     if (!nesneyarat && typeof XMLHttpRequest!='undefined') {
      try {
       nesneyarat= new XMLHttpRequest();
      } catch (e) {
       nesneyarat=false;
      }
     }
     return nesneyarat;
}

function AoL(id,cikti,hedef) {
     var aktifform  = document.getElementById(id);
     var ekranayaz  = document.getElementById(cikti);
     var ciktiver   = new String("");
     var name, value;
          for(var C = 0; C < aktifform.elements.length; C++){
               name  = aktifform.elements[C>.name;
               value = aktifform.elements[C>.value;
               ciktiver += escape(name) +'='+ encodeURIComponent(value) +'&';
          }
     var nesneiste = new yeni_nesne();
          nesneiste.open("post", hedef, true);
          nesneiste.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=iso-8859-9");
          nesneiste.send(ciktiver);
          nesneiste.onreadystatechange = function() {
               if (nesneiste.readyState == 4 && nesneiste.status == 200) {
                    ekranayaz.innerHTML = nesneiste.responseText;
               }
               else { ekranayaz.innerHTML = ''; }
          }
     return false;
}


2 adet fonksiyonumuz mevcut. Birisi XMLHttpRequest nesnesi oluşturuyor, diğeri form bilgilerini post ediyor. XMLHttpRequest nesnesini burada anlatmak çok uzun olacağından sizi WIKI'deki kısa dökümanla başbaşa bırakıyorum. Farklı kullanımları mevcut, fakat ben genelde bu kullanımı tercih ediyorum.

2. fonksiyonumuzda ciktiver adında bir fonksiyon gözünüze çarpıyordur. Bunun amacı Türkçe karakterleri ve post esnasında tanınmayan karakterleri bozmadan gönderip, çıktı alabilmek içindir.

Herkes Turkçe karakter sorunundan yakınır. Eğer sayfanızın işaretleme tipi ile, setRequestHeader'i birbiriyle uyumlu hale getirir ve son olarakta ajax yordam sayfanıza bir charset belirtirseniz hiçbir sorun yaşamazsınız.

Form bilgilerimiz ise şöyle olacak,

<form id="form" onsubmit="return AoL(this.id,'sonuc','ajax.asp')">
     <label for="adsoyad">Adınız Soyadınız</label><br />
     <input type="text" name="adsoyad" id="adsoyad" />
     <input type="submit" value="Gönder" />
</form>
<div id="sonuc"></div>


Burada onsubmit yordamında (sizler değiştirebilirsiniz) 3 olay gerçekleşmekte. Formun id bilgisini gönderiyoruz, gelen sonucun sonuc adlı id'li elementte işlenmesini belirtiyoruz ve son olarak bu bilgiler ajax.asp adlı dosyada işleneceğini bidiriyoruz.

Ajax için elementlerin ID bilgileri çok önemlidir. Post edebilmek içinde form bilgilerine birer name eklememiz gerekir. Aynı olmak zorunluluğu yoktur.

şimdi ise ajax.asp adlı sayfamızı oluşturalım,
<%
     response.charset = "iso-8859-9"
     ad = request.form("adsoyad")
     If Len(ad) < 1 then
          response.write "Adsoyad alanını boş bıraktınız"
     Else
          response.write "Forma yazılan bilgi <strong><u>"&ad&"</u></strong>'dır"
     End If
%>

Bu sayfada pek yabancı işlem yapılmamış. Bir charset atanmış ve post ile gönderdiğimizden aynı şekilde verimizi alıp sınamışız.


Bu örneği sizlere birşeyler çağırıştırması açısından hazırladım. Ajax bu kadar basit mi? Hayır kesinlikle, ve yapılabilir en basit işlem budur. Javascript bilginizi zorlayarak bu mini modülü geliştirebilir daha esnek bir form işlemi hazırlayabilirsiniz.

Bu örneği download etmek için tıklayınız.

Tavsiye Kaynaklar;
       1. Ajax TR
       2. WikiPedi
       3. Ajaxian (İngilizce)

Etiketler  :  ajax   programlama   xmlhttp   xmlhttprequest   nesne   activexobject   jscript   length   encodeuricomponent   escape   setrequestheader   open   send   responsetext   innerhtml   function   form   post   id   this.id  

İçeriği takip etSayfayı YazdırPermalink

34 yorum var

#97.-fatiherikli-22 Mart 2007 Perşembe

Süper, teşekkürler SrcnCkr. Başlangıcı yapıldığına göre devamı gelir heralde (.tsm)

#98.-LineStar-23 Mart 2007 Cuma

eline sağlık cok yararlı ve güzel olmus

#99.-mrlmz-23 Mart 2007 Cuma

Tsarım açısıdna site harika bu ajaxın yanında bu link yönetiminide anlatırsanız çok güzel olur ... Tebrikelr kolay gelsin .

#100.-SrcnCkr-23 Mart 2007 Cuma

Link yönetimi nedir?

#101.-mrlmz-23 Mart 2007 Cuma

Aslında ajaxla fazla bi alakası yok
http://www.aspogren.net/kaynak-oku/82/asp-ile-ajax-kullanimi.html#yorum-oku

bu şekilde linkleri göstermenin mantığı nedir bunu merak ediyorum aslında fazla da araştıramadım ama ben gibi bi çok kişinin merak ettiğini biliyorum .

#102.-dmrL-23 Mart 2007 Cuma

eyw. sercan güzel makale olmuş yine :)

#103.-SrcnCkr-24 Mart 2007 Cumartesi

şurada yaptığım arama sonucundan aldığım değerleri incelemeni tavsiye ederim. Bunun için iyi bir split bilgin ve hata yönetimi kabiliyetin olmalı :)

#104.-mrlmz-24 Mart 2007 Cumartesi

evet içersinde splitin olduğu aşina yanlız bu hata yönetimi olayını nasıl yaparım o konu düşünüdüyo beni cevap için teşekkürler kolay gelsin .)

#111.-opencoder-26 Mart 2007 Pazartesi

ajax ile asp afedersin ama ben anlayamadım
ajax denmesi için php olması gerekmezmi buna atlas desek

#112.-SrcnCkr-28 Mart 2007 Çarşamba

atlas başka bir betik, ajax başka bir betik. Bu konu hakkında araştırma yapmadım ama ajax+asp'nin atlas olmadığını çok iyi biliyorum. Lütfen google'da araştırınız.

#123.-kerem aslan-04 Nisan 2007 Çarşamba

Gayet güzel bir çalışma, sayfa yüklenirken "sayfa yükleniyor" yazısı çıkıyor. Peki formu gönderdiğimizde "kayıt ediliyor bekleyiniz" gibi bir ibare çıksa...bunu nasıl ekleyebiliriz?
Teşekkürler

#124.-SrcnCkr-04 Nisan 2007 Çarşamba

Bu konu geniş ajax uygulamasına girer. Orada 4 ve 200 durumları belirtiliyor. Onun üzerine araştırma yapman gerekir.

#144.-kerem aslan-10 Nisan 2007 Salı

:) hadi canım sende, önce preload yaparken dar uygulamada sonra yaparsamı geniş uygulama. Dedene bu uyguamayı ben yapmadım yada pek fazla bilgim yok.
kolay gelsin

#149.-SrcnCkr-14 Nisan 2007 Cumartesi

Kerem, tanımadığın kişileri böyle yargılama hakkını nereden buluyorsun. Bu siteyi komple oluşturan kim? Buradaki Ajax betiklerini hazırlayan kim? Ara, profilimide göz önüne al sonra yorumunu yap.

Burada amacımız ASP anlatmak. Eğer ki ben burada her dili verirsem işin cıvığı çıkmaz mı?

Sen öyle düşün, umrumda değil. Burada bilgi alacak adam gelir, arar bulur. Giderkende senin söylediklerini söylese bile hiç farketmez. Biz işimizi yapar geçeriz.

#151.-buse seçkin-16 Nisan 2007 Pazartesi

bilgileriniz güzel sercan bey böyle devam edin

#154.-Burak Yılmaz-17 Nisan 2007 Salı

Sevgisiz kerem (sevgili keremin tam tersi) , ajax bilmeyen adam ajax ile ziyaretçi defteri yapabilirmi. Hadi diyelim hazır bişeyi aldı. Tasarımı deistirdi yaptı. Peki bu dersi kim yazdı. Ara bakalım nette bu ders baska sitede varmı??? Belki vardır Eklenmiş olabilir. Ozman tarihlere bakda konus

#156.-omer olmez-19 Nisan 2007 Perşembe

Arkadaşın yaptığı yorum pek yapıcı olmamış sonuçta işte eline klavyeyi, alan yazıyo bişeyler...
Sormak istediğim bu javascripten nedense çok tırstım ben Hakkı Öcal'ın kitabından başka da kaynak yok gibi bişey javascript konusunda ne tavsiye edersiniz ?

#157.-fatiherikli-20 Nisan 2007 Cuma

Javascript'ten korkmana gerek yok. Biraz gıcık bir dil ama alıştıktan sonra yapamayağın şey yoktur. Temel işlemleri öğrensen yeterli. Kaynak için [url>http://www.w3schools.com adresini ziyaret edebilirsin.

#162.-SrcnCkr-21 Nisan 2007 Cumartesi

İyi iş yapan taşlanır. Biz bu ortamı yarattığımızda ve editör arkadaşlar almaya karar verdiğimizde ilk politikamız "kendi yazılarınız olmalı" idi. 4 siteyi karıştırır alıntı yapar ve binlerce döküman yazar sadece işi reklama dökerdim. Ama yapmadım, yapmadık. Gelen once editör başvuruları bu koşulu sağlayamadı. şuan aktif olarak fatiherikli ve ben yazıyoruz.

Ve ikinci görüşümüz, yapılacak fiili saldırıları göz ardı etmek. İstesem o yorumu silerim yada onaylatmazdım. Özgür görüş alanı ve o arkadaş varsın öyle düşünsün. O satırı atlayın okurken.

Bahsettiğim diğer yorumlarımda. Tüm bilgilerimin bulunduğu pc'mde bir HDD hasarı oldu ve verilerim kayboldu. Bu demekki epey geriye düştüm. Servisten geldiğinde (Pc) ve kaybımı eşitledikten sonra yönetim olarak aldığımız bir karar var. (CSS, SQL, Xhtml, Javascript ve eğer editör bulursak PHP üzerine siteler açmayı düşünüyorum.) Her birinin domainii hazır ama kaybolan verilerimin içinde %60'lık yedeksiz projede vardı. Sağlık olsun başlarız tekrar.

Dedik ya amacımız reklam değil. İstesek sitede bulunan reklamlara tıklanmadan yazıları okutmazdık. İşe yarayan bilgiyi sunmak amacımız. Kimileri gibi sayfalarca reklam doldursaydık, alıntı yapıp altta şurdan aldık yazsaydık belkide şuan değerli bir site olacaktık. Böyle olacaksak, olmasın istemiyoruz.

Yeniyiz. 1 yıl 2 aylık siteyiz ama Alexa ve Google değerlerimiz bir çok siteden daha iyi. Bir çok sitede linkimiz var (hemde hiç tanımadığım kişilerin sitelerinde) Bu demekki iyi yoldayız.

Görüşmek üzere...

#164.-elif-21 Nisan 2007 Cumartesi

sercan arkadaşım oldukca başarılı bir webmaster ne kadarda bana ögretmesede asp css vs yinede kötü konuşmalarını istemem neyse sercan kib görüşürüz yazılarının devamını bekliyoruz inş yakında devamlı burada olacağım ;)

#166.-mrlmz-23 Nisan 2007 Pazartesi

Sitenizin bi cazibesi var ilk başta, yapacağım siteye bende koycaktım bi link ancak bi türlü bitiremiyorum :) Ajax konusuna ağırlık verirlirse daha güzel şeyler çıkacaktır ortaya , bu arada boş ver klavyesi olan yazsın .) Kolay Gelsin .

#181.-eser-04 Mayıs 2007 Cuma

internetde birsürü arastırma yaptım fakat çok fazla asp ile eyceks anlatılmıyor genelde php örnekleri var bunun sebebi nedir? eyceks asp ile dahamı zor yada php ile eyceks dahamı uyumlu çalısıyor?

#210.-Serdar Sanrı-03 Haziran 2007 Pazar

Arkadaşlar;

Ajaxla çağırdığım bazı sayfalarda session sonlanıyor kendi kendine. timeout dan kaynaklandığını annediyordum fakat maks timeout vermeme rağmen yine arada db kontrolü yaptığım bazı ajax uygulamalarında uid değerini alamadığını ve dolayısıyla hata verdiğini gördüm. Bunu farklı bir sebebi olabilirmi. bu hatayı özellikle standart prototype üzerindeki Ajax.periodicalUpdater fonksiyonu ile sürekli güncellenen sayfalarda alıyorum. örn sürekli mesaj kontrolü gibi.

#285.-Emre-18 Temmuz 2007 Çarşamba

Merhaba;
Bu faydalı bilgi için teşekkürler ancak şöyle bir problem var. Bu verilen kodları aynen denediğim halde bir türlü sonuca ulaşamadım. Ne lokal'de nede uzak sunucu da denediğim halde çalışmıyor. Hatayı nerede aramam gerekir? Bu arada tarayıcım firefox ama ie ile de denedim sonuç yine hüsran. Bilgi verirseniz sevinirim...

#288.-SrcnCkr-19 Temmuz 2007 Perşembe

Browserda Javascript etkin olup olmadığına bakınız. Eğer etkinse googleda araştırma yapmanızı öneririm.

#351.-muharrem-01 Ekim 2007 Pazartesi

şimdi yaptık ama türkçe karekterleri almıyor bu konuda ne yapmamız gerekiyor ajax.asp windows-1254  yaptım ama gine türkçe karakterleri almadı

#358.-hakan-05 Ekim 2007 Cuma

windows-1254 ve charset=iso-8859-9 bunlar tr karakterler için. eğer onlar doğruysa server locasyonu yurt dışı olduğunda genelde bu tarz sorunlar da sık sık yaşanıyor.

#374.-Erol AKYUz-20 Ekim 2007 Cumartesi

Arkadaslar asp içinde ajaxtabs kullandım ama tablar arası geçişlerde scroll herseferinde yukariya doğru kayıyor bunu engellemenin bir yolu varmıydı. bu ne gibi sorun yaratiyor derseniz ornegin tab1 kısa bir açıklama içeriyor tab2 daha uzun bir açıkma içeriyor. daha fazla satır içeren taba geçtiğimide sürekli scrolu tutup aşağıaya kaydırmak zorunda kalıyorum. bu da sorun oluyor.
http://authors.aspalliance.com/jimross/Samples/MaintainScrollDemo.aspx
bu linkte kod isime yarar ama aspx de yazılmıs bunu asp de kullanmam gerekiyor

tesekkurler

#420.-Cengiz-21 Kasım 2007 Çarşamba

Sercan kardeş şu ajax ile yıldılı oylama olayına da biraz değinsen şurada bu konu beni hasta etti çözemedim kaç zamandır.

#431.-Serkan TOGAL-01 Aralık 2007 Cumartesi

Türkçe karakter olayı baya bir sorun oluşturmaktadır. Bunun çözümü ise arkadaşlar

ajax.asp ye şunları ekleyin.

Response.ContentType = "text/xml"
Response.Charset = "iso-8859-9"
Response.Expires = - 1
Response.Expiresabsolute = Now()- 1
Response.AddHeader "pragma","no-cache"
Response.AddHeader "cache-control","private"
Response.CacheControl = "no-cache"

#435.-sinan-07 Aralık 2007 Cuma

@ serkan togal  ekledik ama düzelmedi..

#437.-Cengiz-15 Aralık 2007 Cumartesi

Ajaxtaki türkçe karakterlerden bende çok çekmiştim <% Response.CharSet ="windows-1254" %> ekledim zımba gibi oldu hepsi valla

#470.-serhado-17 Ocak 2008 Perşembe

Teşekkürler. Çok işime yaradı.  Emeğinize sağlık.

#546.-şahin-27 Mart 2008 Perşembe

Teşekkürler


Bu içeriğe yorum yazın

BBCode ve Emotions desteği aktif. Yorumunuz onaylandıktan sonra gösterilecektir.

Bu yazı ile benzer içeriğe sahip olabilecek yazılar

  1. Ajax Türkçe Karakter Probleminin Çözümü
  2. FSO CopyFile Metodu
  3. Detaylara Bakabilme
  4. Karakter Temizleme
  5. Sql Enjeksiyonu hakkında bilgiler ve önlemler
  6. Geçersiz Null Kullanımı Hatası
  7. Fonksiyon Yazımı
  8. Class Kullanımı
  9. "<" ve ">" Arasındaki Tüm Karakterleri Temizlemek
  10. Request Nesnesi
  11. TextArea ile Form İşlemleri
  12. Radyo Butonları ile Form İşlemleri
  13. Çoklu kayıt silme
  14. şifreli Sayfa Oluşturma
  15. Aranan Kelimenin Arkaplan Rengini Değiştirme
  16. Get ve Post Metodu
  17. TextBox ile Form İşlemleri
  18. Detaylara Bakabilme
  19. Veritabanında arama yapmak

Yazının aktif olduğu kategoriye eklenmiş son yazılar

  1. "<" ve ">" Arasındaki Tüm Karakterleri Temizlemek
  2. Mail List yapımı
  3. Asp ile Sub Kullanımı
  4. Include Deyimi
  5. Sql Enjeksiyonu hakkında bilgiler ve önlemler
  6. Karakter Temizleme
  7. With (Kullanımı) ile Nesnelerin Yönetimi

Aspogren.net web sitesi SiDEnet sunucularından yayınlanmaktadır.

eXTReMe Tracker