Javascript kullanırken “src=xxx.js” parametresini kullanarak birden fazla sayfada kullandığımız javascript fonksiyonlarını tek bir dosyada toplayabiliriz. Ancak bu statik bir çözümdür ve birçok sayfada dinamik bilgilere ihtiyaç duyarız.Bu yüzden işin içine Asp ‘ yi katarak database de dahil olmak üzere tüm server-side teknolojileri kullanarak çok daha esnek javascript uygulamaları yazabiliriz.

Örneğin havadurumu bilgilerini içeren bir siteniz var (havadurumu.com) ve başka sitelerin de bu bilgileri kullanabilmesini istiyorsunuz. Bunun için bir web servisi yaratabilir ve xml aracılığıyla bilgi alışverişi yapabilirsiniz. Ancak bu tip basit uygulamalarda Asp & Javascript kullanarak oldukça kolay çözümler üretmek daha mantıklıdır.

Örneğin bir müşteriniz sizin hava durumu bilgilerinizin belli bir ücret karşılığında kendi sitesinde de olmasını istiyor. Bu işi müşterinizin sayfasında hiçbir asp kodu olmadan ( connection string’ i vermek istemezsiniz :))) halledebilirsiniz. Yani Asp destekleyen bir sunucuda olması gerekmez. Çünkü müşterinin sayfasındaki kod tamamen client-side çalışır.

Örneğimizde hava durumu bilgileri “hava.mdb” dosyasında durmaktadır. “Hava.asp” dosyası db’ den havadurumu bilgilerini çekip response.write ile javascript ile kullanabileceğimiz client-side değişkenlere atar. “index.html” sayfasında da bu bilgileri document.write metoduyla sayfada istediğimiz yere yazdırabiliriz.

ASP:
  1. <%@ LANGUAGE=”VBSCRIPT”%>
  2. <%
  3. dim constr
  4. constr=”provider=microsoft.jet.oledb.4.0;data source=” & server.MapPath(”hava.mdb)
  5.  
  6. dim con
  7. dim rst
  8. dim sql
  9. dim ist1,ist2,ank1,ank2
  10.  
  11.  
  12. set con=server.createobject(adodb.connection)
  13. set rst=server.createobject(adodb.recordset)
  14. con.open constr
  15.  
  16. sql=”select top 2 derece1,derece2 from hava where datevalue(tarih)=’”& datevalue(date()) &”‘ order by sira”
  17.  
  18. rst.open sql,con
  19.  
  20. if not rst.eof then
  21. ist1=rst.Fields(”derece1″).Value
  22. ist2=rst.Fields(”derece2″).Value
  23. rst.MoveNext
  24. if not rst.EOF then
  25. ank1=rst.Fields(”derece1″).Value
  26. ank2=rst.Fields(”derece2″).Value
  27. end if
  28. end if
  29.  
  30. set rst=nothing
  31. set con=nothing
  32. %>
  33. <!–
  34. var istHava=”<%=ist1%>” + “/” + “<%=ist2%>”;
  35. var ankHava=”<%=ank1%>” + “/” + “<%=ank2%>”;
  36. //–>
  37. index.html
  38.  
  39. <html>
  40. <body>
  41. <head>
  42. <script language=”javascript” src=”hava.asp”></script>
  43. </head>
  44. </body><body>
  45. HAVA DURUMU<br /><br />
  46. İstanbul : <script language=”javascript”>document.write(istHava);</script>
  47. <br />
  48. Ankara : <script language=”javascript”>document.write(ankHava);</script>
  49. <br />
  50. </body>
  51. </html>

Gördüğünüz gibi hiç asp kodu olmamasına rağmen html sayfamızdaki havadurumu bilgileri dinamik olarak gelmektedir.

Bu örnek aynı klasörde olan “hava.asp” dosyasının çağırmaktadır. Başka bir siteden bu bilgileri almak için

CODE:
  1. <script language=”javascript” src=”hava.asp”></script>

satırını

CODE:
  1. <script language=”javascript” src=”http://www.havadurumu.com/hava.asp”></script>

olarak değiştirmemiz yetecektir.

Favorilerinize Ekleyin.
  • BlinkList
  • del.icio.us
  • Digg
  • Netvouz
  • DZone
  • ThisNext
  • MisterWong
  • Wists
  • blogmarks
  • Blue Dot
  • Furl
  • Netscape
  • NewsVine
  • Reddit
  • Shadows
  • Technorati
  • YahooMyWeb
  • Fark
  • feedmelinks
  • Fleck
  • kick.ie
  • LinkaGoGo
  • Linkter
  • MyShare
  • Spurl
  • Webride