{"id":461,"date":"2012-12-02T13:44:05","date_gmt":"2012-12-02T10:44:05","guid":{"rendered":"http:\/\/ulviercan.com\/teknoblog\/?p=461"},"modified":"2015-01-05T19:03:12","modified_gmt":"2015-01-05T16:03:12","slug":"jquery-ve-ajax","status":"publish","type":"post","link":"https:\/\/www.ulviercan.com\/teknoblog\/jquery\/jquery-ve-ajax\/","title":{"rendered":"jQuery ve AJAX"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-462\" title=\"jajax\" alt=\"\" src=\"https:\/\/ulviercan.com\/teknoblog\/wp-content\/uploads\/2012\/11\/jajax.png\" width=\"450\" height=\"126\" srcset=\"https:\/\/www.ulviercan.com\/teknoblog\/wp-content\/uploads\/2012\/11\/jajax.png 450w, https:\/\/www.ulviercan.com\/teknoblog\/wp-content\/uploads\/2012\/11\/jajax-300x84.png 300w, https:\/\/www.ulviercan.com\/teknoblog\/wp-content\/uploads\/2012\/11\/jajax-196x55.png 196w\" sizes=\"auto, (max-width: 450px) 100vw, 450px\" \/><\/p>\n<p>Web standartlar\u0131n\u0131n geli\u015fmesiyle birlikte yeni teknolojiler ortaya \u00e7\u0131k\u0131yor ve birle\u015fiyor. Ajax ve jQuery kombinasyonu bu birle\u015fimlerin en g\u00fczel \u00f6rneklerinden biridir.<\/p>\n<p>Ajax ile yeni tan\u0131\u015ft\u0131\u011f\u0131m\u0131z d\u00f6nemlerde, Ajax denen bu y\u00f6ntemi kullanmak deneyimli yaz\u0131l\u0131mc\u0131lar i\u00e7in bile zor olabiliyordu. Basit bir form ile veri g\u00f6ndermek i\u00e7in bile, onlarca sat\u0131r kod yazmak gerekiyordu. \u00dcst\u00fcne \u00fcstl\u00fck, yazd\u0131\u011f\u0131n\u0131z bu kodun t\u00fcm taray\u0131c\u0131larda sorun \u015fekilde \u00e7al\u0131\u015faca\u011f\u0131n\u0131n garantisi de yoktu. Yani her taray\u0131c\u0131 i\u00e7in farkl\u0131 kodlar yazmak, bunlar\u0131 her seferinde t\u00fcm taray\u0131c\u0131lar i\u00e7in test etmek bizler i\u00e7in zorunlu bir hal alm\u0131\u015ft\u0131.<!--more--><\/p>\n<div class=\"alignleft\"><!--Ads2--><\/div>\n<div class=\"clear\"><\/div>\n<p>G\u00fcn\u00fcm\u00fczde, i\u015fte tam bu noktada, jQuery denen nimet, yani teknolojik ad\u0131yla &#8220;k\u00fct\u00fcphane&#8221; imdad\u0131m\u0131za yeti\u015fiyor. \u00c7ok k\u0131sa kodlar ile, t\u00fcm taray\u0131c\u0131larda sorunsuz \u00e7al\u0131\u015fan Ajax istekleri yapabiliyoruz.<\/p>\n<p>Bu makalemi 4 ana ba\u015fl\u0131k alt\u0131nda ele alaca\u011f\u0131m.<\/p>\n<ul>\n<li>Ajax \u0130stekleri<\/li>\n<li>Ajax Olaylar\u0131<\/li>\n<li>Yard\u0131mc\u0131 Fonksiyonlar<\/li>\n<li>K\u0131salt\u0131lm\u0131\u015f Metotlar<\/li>\n<\/ul>\n<h1>Ajax \u0130stekleri<\/h1>\n<h1>jQuery.ajax()<\/h1>\n<p>Asenkron olarak, yani sayfan\u0131n y\u00fcklenmesinden ba\u011f\u0131ms\u0131z olarak HTTP Ajax istekleri yollamak i\u00e7in kullanaca\u011f\u0131m\u0131z temel metottur. Yapaca\u011f\u0131m\u0131z iste\u011fin t\u00fcr\u00fcne g\u00f6re, bir \u00e7ok ayar\u0131 bulunmaktad\u0131r. Bunlardan k\u0131saca bahsetmek gerekirse:<\/p>\n<ul>\n<li><strong>accepts:<\/strong> Server&#8217;a g\u00f6nderdi\u011fimiz rica ba\u015fl\u0131\u011f\u0131nda (request header) g\u00f6nderilen hangi tipte veri istedi\u011fimizi belirtti\u011fimiz ayard\u0131r. Kullan\u0131lmas\u0131 gerekiyorsa, $.ajaxSetup() metodunda kullan\u0131lmas\u0131 \u00f6neriliyor. Atanacak de\u011fer daha \u00f6nce ele ald\u0131\u011f\u0131m <a href=\"https:\/\/ulviercan.com\/teknoblog\/jquery\/genel-bakis-jquery-ve-veri-tipleri\/\" target=\"_blank\">jQuery ve veri tipleri<\/a> konusunda bahsetti\u011fim veri tiplerinden biri olabilir.<\/li>\n<li><strong>async:<\/strong> Varsay\u0131lan olarak, true de\u011feri atanm\u0131\u015f olan bu ayara, senkron istekler yapmak istiyorsak, false de\u011feri atanmal\u0131d\u0131r. Cross-domain ve dataType: &#8220;jsonp&#8221; olarak ayarlanm\u0131\u015f istekler, senkron ricalar\u0131 desteklemez. Unutmay\u0131n, senkron ricalar\u0131, kullan\u0131c\u0131n\u0131n taray\u0131c\u0131s\u0131n\u0131 belirli bir s\u00fcre kullan\u0131lmaz, i\u015flem yapamaz hale getirebilir.<\/li>\n<li><strong>beforeSend(jqXHR, settings):<\/strong> Yine jQuery ve veri tipleri konusunda bahsetti\u011fim, jqXHR nesnesini modifiye etmek i\u00e7in kullan\u0131l\u0131r.<\/li>\n<li><strong>cache:<\/strong> Varsay\u0131lan olarak true de\u011feri atanm\u0131\u015ft\u0131r. E\u011fer false de\u011feri atan\u0131rsa, taray\u0131c\u0131 rica edilen sayfalar\u0131n \u00f6nbellekten y\u00fcklenmemesi i\u00e7in zorlan\u0131r ve query string k\u0131sm\u0131na &#8220;_=[TIMESTAMP]&#8221; de\u011feri eklenir.<\/li>\n<li><strong>complete(jqXHR, textStatus):<\/strong> Rica tamamland\u0131\u011f\u0131nda ve error, success geri d\u00f6n\u00fc\u015f fonksiyonlar\u0131 i\u015fletildikten sonra, \u00e7al\u0131\u015facak geri d\u00f6n\u00fc\u015f fonksiyonudur. textStatus de\u011feri durumu kategorize etmek i\u00e7in kullan\u0131l\u0131r. Alabilece\u011fi de\u011ferler \u015funlard\u0131r: (&#8220;success&#8221;, &#8220;notmodified&#8221;, &#8220;error&#8221;, &#8220;timeout&#8221;, &#8220;abort&#8221;, &#8220;parsererror&#8221;)<\/li>\n<li><strong>contents:<\/strong> JQuery&#8217;nin d\u00f6nen cevab\u0131 nas\u0131l ayr\u0131\u015ft\u0131raca\u011f\u0131n\u0131 belirmek i\u00e7in kullan\u0131lan bir string\/d\u00fczenli ifadeler ikilisidir.<\/li>\n<li><strong>contentType:<\/strong> Varsay\u0131lan olarak bir \u00e7ok durum i\u00e7in uygun olan &#8216;application\/x-www-form-urlencoded; charset=UTF-8&#8217; tan\u0131mlanm\u0131\u015ft\u0131r. E\u011fer karakter seti tan\u0131mlamas\u0131 yapmaz iseniz, jQuery server&#8217;\u0131n kendi karakter setini kullanacakt\u0131r ve buna g\u00f6re server taraf\u0131nda uygun ayr\u0131\u015ft\u0131rmay\u0131 yapman\u0131z gerekmektedir.<\/li>\n<li><strong>context:<\/strong> Varsay\u0131lan olarak context yani ba\u011flam, \u00e7a\u011fr\u0131m\u0131z ($.ajaxSettings veya $.ajax) taraf\u0131ndan kullan\u0131lan ayarlar\u0131 temsil eden nesnedir.<\/li>\n<li><strong>converters:<\/strong> Varsay\u0131lan olarak {&#8220;* text&#8221;: window.String, &#8220;text html&#8221;: true, &#8220;text json&#8221;: jQuery.parseJSON, &#8220;text xml&#8221;: jQuery.parseXML} de\u011ferleri atanm\u0131\u015ft\u0131r. dataType -&gt; dataType d\u00f6n\u00fc\u015ft\u00fcr\u00fcc\u00fcs\u00fc. Her bir d\u00f6n\u00fc\u015ft\u00fcr\u00fcc\u00fcn\u00fcn de\u011feri, cevaptan d\u00f6nen de\u011feri d\u00f6n\u00fc\u015ft\u00fcren bir fonksiyondur.<\/li>\n<li><strong>crossDomain:<\/strong> Ayn\u0131 alan ad\u0131 \u00fczerinde JSONP gibi crossDomain ricas\u0131 olu\u015fturmak istiyorsan\u0131z, bu de\u011fer false yap\u0131n. Bu server tarafl\u0131 y\u00f6nlendirmeye olanak sa\u011flayacakt\u0131r.<\/li>\n<li><strong>data:<\/strong> Server&#8217;a g\u00f6nderilecek veriyi tan\u0131mlamak i\u00e7in kullan\u0131l\u0131r.<\/li>\n<li><strong>dataFilter(data, type):<\/strong> XMLHttpRequest nesnesinden d\u00f6nen ham veriyi filtrelemek i\u00e7in kullan\u0131l\u0131r.<\/li>\n<li><strong>dataType:<\/strong> Varsay\u0131lan olarak, yani bu de\u011feri bo\u015f b\u0131rak\u0131rsak, kendisi veri tipini (xml, json, script, html) belirleyebilir. D\u00f6necek olan de\u011fer kesin ve tek tip ise, bu de\u011ferlerden herhangi birini tan\u0131mlayabiliriz.<\/li>\n<li><strong>error(jqXHR, textStatus, errorThrown):<\/strong> E\u011fer istek ba\u015far\u0131s\u0131z olursa \u00e7al\u0131\u015facak fonksiyondur.<\/li>\n<li><strong>global:<\/strong> Global bir Ajax olay i\u015fleyicisi tetikliyor olal\u0131m. Bu de\u011fer bu true olacakt\u0131r. ajaxStart veya ajaxStop gibi global olay i\u015fleyicilerinin tetiklemelerinden korunmak i\u00e7in false olarak ayarlay\u0131n.<\/li>\n<li><strong>headers:<\/strong> Ajax ricas\u0131yla birlikte yollanacak anahtar\/de\u011fer ikililerinin oldu\u011fu yap\u0131d\u0131r. Bu ayar beforeSend fonksiyonu \u00e7a\u011fr\u0131lmadan \u00f6nce ayarlanmal\u0131d\u0131r. Aksi taktirde ayarlad\u0131\u011f\u0131m\u0131z header de\u011ferlerinin \u00fczerine yaz\u0131labilir.<\/li>\n<li><strong>ifModified:<\/strong> Ricadan sonra yap\u0131lan cevab\u0131, sadece bir \u00f6nceki cevaptan farkl\u0131 ise kabul etmek i\u00e7in kullan\u0131l\u0131r. Varsay\u0131lan de\u011feri false&#8217;tur.<\/li>\n<li><strong>isLocal:<\/strong> Bulunan ortam\u0131 &#8220;local&#8221; (mesela the filesystem) gibi alg\u0131lanmas\u0131na izin verir sa\u011flar.<\/li>\n<li><strong>jsonp:<\/strong> Geri d\u00f6n\u00fc\u015f fonksiyonunu jsonp ricas\u0131 olarak override eder. Query string&#8217;teki &#8220;callback=?&#8221; alan\u0131 yerine &#8220;onJSONPLoad=?&#8221; servera ge\u00e7ilir.<\/li>\n<li><strong>jsonpCallback:<\/strong> JSONP ricas\u0131 i\u00e7in geri d\u00f6n\u00fc\u015f fonksiyonunu jQuery&#8217;nin random ve tekil olarak verdi\u011fi isimden farkl\u0131 olarak isimlendirmek i\u00e7in kullan\u0131l\u0131r.<\/li>\n<li><strong>mimeType:<\/strong> XHR mime type&#8217;a override etmek i\u00e7in kullan\u0131l\u0131r.<\/li>\n<li><strong>username:<\/strong> HTTP eri\u015fim kontrol\u00fc i\u00e7in kullan\u0131lacak olan kullan\u0131c\u0131 ad\u0131n\u0131 tan\u0131mlar.<\/li>\n<li><strong>password:<\/strong> HTTP eri\u015fim kontrol\u00fc i\u00e7in kullan\u0131lacak olan \u015fifreyi tan\u0131mlar.<\/li>\n<li><strong>processData:<\/strong> Varsay\u0131lan olarak nesne olarak g\u00f6nderilen veriyi query string ifadeye d\u00f6n\u00fc\u015ft\u00fcr\u00fcr.<\/li>\n<li><strong>scriptCharset:<\/strong> Sadece &#8220;jsonp&#8221; veya &#8220;script&#8221; veri tipleri ve &#8220;GET&#8221; i\u00e7in \u00e7al\u0131\u015facakt\u0131r. Karakter setini tan\u0131mlamaya zorlar.<\/li>\n<li><strong>statusCode:<\/strong> \u0130\u015flem sonucunda olu\u015fan i\u015flem durum kodunu tan\u0131mlar. A\u015fa\u011f\u0131daki \u00f6rnekte istek yap\u0131lan sayfa bulunamaz yani 404 hata kodu al\u0131n\u0131rsa ekrana &#8220;sayfa bulunamad\u0131&#8221; uyar\u0131s\u0131 veriyoruz.\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n$.ajax({\r\n  statusCode: {\r\n    404: function() {\r\n      alert(&quot;sayfa bulunamad\u0131&quot;);\r\n    }\r\n  }\r\n});\r\n<\/pre>\n<\/li>\n<li><strong>success(data, textStatus, jqXHR):<\/strong> \u0130\u015flem ba\u015far\u0131 ile tamamlan\u0131rsa \u00e7a\u011fr\u0131lacak fonksiyonu tan\u0131mlamak i\u00e7in kullan\u0131l\u0131yor.<\/li>\n<li><strong>timeout:<\/strong> Mili saniye cinsinden istek i\u00e7in olan zaman a\u015f\u0131m\u0131 s\u00fcresini belirler.<\/li>\n<li><strong>traditional:<\/strong> Geleneksel parametre serile\u015ftirme kullanmak istiyorsan\u0131z bu de\u011feri true olarak ayarlay\u0131n. Parametre seriler\u015ftirme hakk\u0131nda a\u015fa\u011f\u0131da jQuery.Param() ba\u015fl\u0131\u011f\u0131na g\u00f6z atabilirsiniz. Daha detayl\u0131 bilgi isterseniz jQuery D\u00f6k\u00fcmantasyonuna bakabilirsiniz -&gt; <a href=\"https:\/\/api.jquery.com\/jQuery.param\/\" target=\"_blank\">Parametre serile\u015ftirme nedir?<\/a><\/li>\n<li><strong>type:<\/strong> Varsay\u0131lan de\u011fer GET&#8217;tir. POST veya GET olarak ayarlamak i\u00e7in kullan\u0131l\u0131r. Di\u011fer HTTP metotlar\u0131 olan PUT ve DELETE&#8217;de burada kullan\u0131labilir ancak onlar t\u00fcm taray\u0131c\u0131lar taraf\u0131ndan desteklenmemektedir.<\/li>\n<li><strong>url:<\/strong> \u0130ste\u011fin g\u00f6nderilece\u011fi URL&#8217;yi belirler.<\/li>\n<li><strong>xhr:<\/strong> Varsay\u0131lan de\u011fer: ActiveXObject (IE), ba\u015fka taray\u0131c\u0131larda XMLHttpRequest. Yarat\u0131lan XMLHttpRequest nesnesi i\u00e7in geri d\u00f6n\u00fc\u015f fonksiyonudur.<\/li>\n<li><strong>xhrFields:<\/strong> XHR nesnesinin i\u00e7inde ayarlanan fieldName-fieldValue \u015feklindeki ikililerdir. \u00d6rnek vermek gerekirse, \u00e7apraz alan ad\u0131 kullan\u0131mlar\u0131nda withCredentials de\u011ferini true olarak ayarlayabilirsiniz.\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n$.ajax({\r\n   url: capraz_alanadi_urlsi,\r\n   xhrFields: {\r\n      withCredentials: true\r\n   }\r\n});\r\n<\/pre>\n<\/li>\n<\/ul>\n<h1>jQuery.ajaxSetup()<\/h1>\n<p>Ajax ricas\u0131 yapmadan \u00f6nceden ayarlar\u0131 yapmam\u0131z\u0131 sa\u011flar.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n$.ajaxSetup({\r\n   url: &quot;\/xmlhttp\/&quot;,\r\n   global: false,\r\n   type: &quot;POST&quot;\r\n\r\n });\r\n $.ajax({ data: myData });\r\n<\/pre>\n<p>Ajax ricas\u0131 yapaca\u011f\u0131m\u0131z URL&#8217;yi &#8220;\/xmlhttp\/&#8221; olarak ayarlad\u0131k. Global i\u015fleyicileri devre d\u0131\u015f\u0131 b\u0131rakt\u0131k ve GET metodu yerine POST metodu kulland\u0131k. Daha sonra yer alan Ajax metodu i\u00e7erisinde, herhangi ba\u015fka bir ayar yapmak zorunda kalmadan iste\u011fimiz veriyi g\u00f6nderiyoruz.<\/p>\n<h1>jQuery.ajaxPrefilter()<\/h1>\n<p>Her bir rica g\u00f6nderilmeden \u00f6nce ve bunlar $.ajax() taraf\u0131ndan i\u015flem g\u00f6rmeden \u00f6nce, \u00f6zel Ajax se\u00e7eneklerini ele al\u0131r veya var olan ayarlar\u0131 d\u00fczenlemek i\u00e7in kullan\u0131l\u0131r.<\/p>\n<p>Genel olarak .ajaxPrefilter() kullan\u0131m\u0131 \u015funa benzer.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n$.ajaxPrefilter( function( options, originalOptions, jqXHR ) {\r\n  \/\/ options, control originalOptions, store jqXHR, vs...\r\n});\r\n<\/pre>\n<ul>\n<li><strong>options:<\/strong> Ayarlar\u0131 ister<\/li>\n<li><strong>originalOptions: <\/strong> Ajax metodu taraf\u0131ndan sa\u011flanan ayarlar. D\u00fczenlenmemi\u015f, ve ajaxSettings taraf\u0131ndan gelen varsay\u0131lan ayarlar olmadan.<\/li>\n<li><strong>jqXHR:<\/strong> Ricaya ba\u011fl\u0131 olan XHR nesnesi.<\/li>\n<\/ul>\n<h1>Ajax Olaylar\u0131<\/h1>\n<h1>.ajaxComplete()<\/h1>\n<p>Ajax iste\u011fimiz tamamland\u0131\u011f\u0131 anda olacaklar\u0131 ele al\u0131r.<\/p>\n<p>\u00d6rnek uygulama -&gt; <a href=\"https:\/\/ulviercan.com\/teknoblog\/wp-content\/uploads\/myCodeSamples\/jQuery_Ajax\/ajax_ajaxComplete\/\" target=\"_blank\">https:\/\/ulviercan.com\/teknoblog\/wp-content\/uploads\/myCodeSamples\/jQuery_Ajax\/ajax_ajaxComplete\/<\/a><\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n&lt;!DOCTYPE html&gt;\r\n&lt;html&gt;\r\n&lt;head&gt;\r\n    &lt;script src=&quot;https:\/\/code.jquery.com\/jquery-latest.js&quot;&gt;&lt;\/script&gt;\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\n\r\n&lt;fieldset&gt;\r\n    &lt;div id=&quot;sonuc&quot;&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;\/span&gt;&lt;\/div&gt;\r\n&lt;\/fieldset&gt;\r\n\r\n&lt;script&gt;\r\n    $.ajax({\r\n        url: &quot;https:\/\/ulviercan.com\/teknoblog\/wp-content\/uploads\/myCodeSamples\/jQuery_Ajax\/ajax.txt&quot;\r\n        }).done(function( html ) {\r\n        $(&quot;#sonuc span&quot;).append(html);\r\n    });\r\n\r\n    $(&quot;#sonuc&quot;).ajaxComplete(function(event,request, settings){\r\n        $(this).prepend(&quot;Rica tamamland\u0131. Sonu\u00e7: &quot;);\r\n    });\r\n&lt;\/script&gt;\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;\r\n<\/pre>\n<p>.ajaxComplete() olay\u0131 ile sonu\u00e7 geldikten sonra .prepend() metodu kullanarak sonu\u00e7 metninin ba\u015f\u0131na &#8220;Rica tamamland\u0131. Sonu\u00e7: &#8221; c\u00fcmlesini ekledik.<\/p>\n<h1>.ajaxError()<\/h1>\n<p>Ajax iste\u011fi bir hata ile sonu\u00e7lan\u0131rsa bu olay \u00e7al\u0131\u015facakt\u0131r.<\/p>\n<p>\u00d6rnek uygulama -&gt; <a href=\"https:\/\/ulviercan.com\/teknoblog\/wp-content\/uploads\/myCodeSamples\/jQuery_Ajax\/ajax_ajaxError\/\" target=\"_blank\">https:\/\/ulviercan.com\/teknoblog\/wp-content\/uploads\/myCodeSamples\/jQuery_Ajax\/ajax_ajaxError\/<\/a><\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n&lt;!DOCTYPE html&gt;\r\n&lt;html&gt;\r\n&lt;head&gt;\r\n    &lt;script src=&quot;https:\/\/code.jquery.com\/jquery-latest.js&quot;&gt;&lt;\/script&gt;\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\n\r\n&lt;fieldset&gt;\r\n    &lt;div id=&quot;sonuc&quot;&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;\/span&gt;&lt;\/div&gt;\r\n&lt;\/fieldset&gt;\r\n\r\n&lt;script&gt;\r\n    $.ajax({\r\n        url: &quot;https:\/\/ulviercan.com\/teknoblog\/wp-content\/uploads\/myCodeSamples\/jQuery_Ajax\/XxXajaxXx.txt&quot;\r\n        }).done(function( html ) {\r\n        $(&quot;#sonuc span&quot;).append(html);\r\n    });\r\n\r\n    $(&quot;#sonuc&quot;).ajaxComplete(function(event,request, settings){\r\n        $(this).prepend(&quot;Rica tamamland\u0131. Sonu\u00e7: &quot;);\r\n    });\r\n\r\n    $(&quot;#sonuc&quot;).ajaxError(function(event,request, settings){\r\n        $(this).prepend(&quot;Hata Olu\u015ftu.&quot;);\r\n    });\r\n&lt;\/script&gt;\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;\r\n<\/pre>\n<p>Server&#8217;da XxXajaxXx.txt dosyas\u0131 bulunamad\u0131\u011f\u0131ndan dolay\u0131 hata olu\u015fuyor. Bunun sonucunda ekrana &#8220;Hata Olu\u015ftu.&#8221; uyar\u0131s\u0131 veriyoruz. Burada dikkatinizi \u00e7ekmek istedi\u011fim bir nokta var. Ajax ricas\u0131n\u0131n ba\u015far\u0131l\u0131 veya ba\u015far\u0131s\u0131z olmas\u0131 g\u00f6zetmeksizin .ajaxComplete() olay\u0131m\u0131z \u00e7al\u0131\u015f\u0131yor ve ekrana &#8220;Rica tamamland\u0131. Sonu\u00e7: &#8221; metnini yazd\u0131r\u0131yor.<\/p>\n<h1>.ajaxSuccess()<\/h1>\n<p>Ajax ricas\u0131 ba\u015far\u0131 ile sonu\u00e7lan\u0131rsa bu olay \u00e7al\u0131\u015facakt\u0131r.<br \/>\n\u00d6rnek uygulama -&gt; <a href=\"https:\/\/ulviercan.com\/teknoblog\/wp-content\/uploads\/myCodeSamples\/jQuery_Ajax\/ajax_ajaxSuccess\/\" target=\"_blank\">https:\/\/ulviercan.com\/teknoblog\/wp-content\/uploads\/myCodeSamples\/jQuery_Ajax\/ajax_ajaxSuccess\/<\/a><\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n&lt;!DOCTYPE html&gt;\r\n&lt;html&gt;\r\n&lt;head&gt;\r\n    &lt;script src=&quot;https:\/\/code.jquery.com\/jquery-latest.js&quot;&gt;&lt;\/script&gt;\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\n\r\n&lt;fieldset&gt;\r\n    &lt;div id=&quot;sonuc&quot;&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;\/span&gt;&lt;\/div&gt;\r\n&lt;\/fieldset&gt;\r\n\r\n&lt;script&gt;\r\n    $.ajax({\r\n        url: &quot;https:\/\/ulviercan.com\/teknoblog\/wp-content\/uploads\/myCodeSamples\/jQuery_Ajax\/ajax.txt&quot;\r\n        }).done(function( html ) {\r\n        $(&quot;#sonuc span&quot;).append(html);\r\n    });\r\n\r\n    $(&quot;#sonuc&quot;).ajaxComplete(function(event,request, settings){\r\n        $(this).prepend(&quot;Rica tamamland\u0131. Sonu\u00e7: &quot;);\r\n    });\r\n\r\n    $(&quot;#sonuc&quot;).ajaxSuccess(function(event,request, settings){\r\n        $(this).prepend(&quot;Rica Ba\u015far\u0131l\u0131.&quot;);\r\n    });\r\n&lt;\/script&gt;\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;\r\n<\/pre>\n<p>Rica, ba\u015far\u0131 ile sonu\u00e7land\u0131\u011f\u0131 i\u00e7in ekrana &#8220;Rica Ba\u015far\u0131l\u0131.&#8221; yaz\u0131s\u0131n\u0131 bast\u0131r\u0131yoruz. Yine dikkat ettiyseniz .ajaxComplete() olay\u0131m\u0131z da \u00e7al\u0131\u015f\u0131yor.<\/p>\n<h1>.ajaxSend()<\/h1>\n<p>Ajax ricas\u0131 g\u00f6nderilmeden \u00f6nce \u00e7al\u0131\u015facak olayd\u0131r.<br \/>\n\u00d6rnek uygulama -&gt; <a href=\"https:\/\/ulviercan.com\/teknoblog\/wp-content\/uploads\/myCodeSamples\/jQuery_Ajax\/ajax_ajaxSend\/\" target=\"_blank\">https:\/\/ulviercan.com\/teknoblog\/wp-content\/uploads\/myCodeSamples\/jQuery_Ajax\/ajax_ajaxSend\/<\/a><\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n&lt;!DOCTYPE html&gt;\r\n&lt;html&gt;\r\n&lt;head&gt;\r\n    &lt;script src=&quot;https:\/\/code.jquery.com\/jquery-latest.js&quot;&gt;&lt;\/script&gt;\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\n\r\n&lt;fieldset&gt;\r\n    &lt;div id=&quot;sonuc&quot;&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;\/span&gt;&lt;\/div&gt;\r\n&lt;\/fieldset&gt;\r\n\r\n&lt;script&gt;\r\n    $(document).ready(function() {\r\n        $.ajax({\r\n            url: &quot;https:\/\/ulviercan.com\/teknoblog\/wp-content\/uploads\/myCodeSamples\/jQuery_Ajax\/ajax.txt&quot;\r\n            }).done(function( html ) {\r\n            $(&quot;#sonuc span&quot;).append(html);\r\n        });\r\n    });\r\n\r\n    $(&quot;#sonuc&quot;).ajaxComplete(function(event,request, settings){\r\n        $(this).prepend(&quot;Rica tamamland\u0131. Sonu\u00e7: &quot;);\r\n    });\r\n\r\n    $(&quot;#sonuc&quot;).ajaxSend(function(event,request, settings){\r\n        $(this).prepend(&quot;&lt;li&gt;\u0130stek yap\u0131lacak dosya: &quot; + settings.url + &quot;&lt;\/li&gt;&quot;);\r\n    });\r\n&lt;\/script&gt;\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;\r\n<\/pre>\n<p>\u0130stek yap\u0131lmadan \u00f6nce ekrana, istek yap\u0131lacak dosyan\u0131n ad\u0131n\u0131 yazd\u0131rd\u0131k. $.ajax() iste\u011fini $(document).ready()&#8217;nin i\u00e7ine almam\u0131z\u0131n sebebi ise d\u00f6k\u00fcman tam olarak y\u00fcklenmeden iste\u011fin yap\u0131lmas\u0131n\u0131 ve dolay\u0131s\u0131yla .ajaxSend() olay\u0131n\u0131n sorunsuzca i\u015flenebilmesini sa\u011flamakt\u0131r. &#8220;Rica tamamland\u0131. Sonu\u00e7: &#8221; \u00f6rne\u011fimizin en ba\u015f\u0131nda g\u00f6z\u00fckmesinin sebebi ise, en son o olay\u0131n \u00e7al\u0131\u015fmas\u0131 ve .prepend() kullan\u0131yor olmam\u0131zd\u0131r.<\/p>\n<h1>.ajaxStart()<\/h1>\n<p>Ajax iste\u011fi ba\u015flad\u0131\u011f\u0131 anda \u00e7al\u0131\u015f\u0131r.<br \/>\n\u00d6rnek uygulama -&gt; <a href=\"https:\/\/ulviercan.com\/teknoblog\/wp-content\/uploads\/myCodeSamples\/jQuery_Ajax\/ajax_ajaxStart\/\" target=\"_blank\">https:\/\/ulviercan.com\/teknoblog\/wp-content\/uploads\/myCodeSamples\/jQuery_Ajax\/ajax_ajaxStart\/<\/a><\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n&lt;!DOCTYPE html&gt;\r\n&lt;html&gt;\r\n&lt;head&gt;\r\n    &lt;script src=&quot;https:\/\/code.jquery.com\/jquery-latest.js&quot;&gt;&lt;\/script&gt;\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\n\r\n&lt;fieldset&gt;\r\n    &lt;div id=&quot;sonuc&quot;&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;\/span&gt;&lt;\/div&gt;\r\n&lt;\/fieldset&gt;\r\n\r\n&lt;script&gt;\r\n    $(document).ready(function() {\r\n        $.ajax({\r\n            url: &quot;https:\/\/ulviercan.com\/teknoblog\/wp-content\/uploads\/myCodeSamples\/jQuery_Ajax\/ajax.txt&quot;\r\n            }).done(function( html ) {\r\n            $(&quot;#sonuc span&quot;).append(html);\r\n        });\r\n    });\r\n\r\n    $(&quot;#sonuc&quot;).ajaxComplete(function(event,request, settings){\r\n        $(this).prepend(&quot;Rica tamamland\u0131. Sonu\u00e7: &quot;);\r\n    });\r\n\r\n    $(&quot;#sonuc&quot;).ajaxStart(function(event,request, settings){\r\n        $(this).prepend(&quot;Ba\u015fl\u0131yor..&quot;);\r\n    });\r\n&lt;\/script&gt;\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;\r\n<\/pre>\n<p>ajaxStart olay\u0131 ile ekrana &#8220;Ba\u015fl\u0131yor..&#8221; yazd\u0131rd\u0131k.<\/p>\n<h1>.ajaxStop()<\/h1>\n<p>Ajax ricas\u0131n\u0131n sonunda \u00e7al\u0131\u015fan olayd\u0131r.<\/p>\n<p>\u00d6rnek uygulama -&gt; <a href=\"https:\/\/ulviercan.com\/teknoblog\/wp-content\/uploads\/myCodeSamples\/jQuery_Ajax\/ajax_ajaxStop\/\" target=\"_blank\">https:\/\/ulviercan.com\/teknoblog\/wp-content\/uploads\/myCodeSamples\/jQuery_Ajax\/ajax_ajaxStop\/<\/a><\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n&lt;!DOCTYPE html&gt;\r\n&lt;html&gt;\r\n&lt;head&gt;\r\n    &lt;script src=&quot;https:\/\/code.jquery.com\/jquery-latest.js&quot;&gt;&lt;\/script&gt;\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\n\r\n&lt;fieldset&gt;\r\n    &lt;div id=&quot;sonuc&quot;&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;\/span&gt;&lt;\/div&gt;\r\n&lt;\/fieldset&gt;\r\n\r\n&lt;script&gt;\r\n    $(document).ready(function() {\r\n        $.ajax({\r\n            url: &quot;https:\/\/ulviercan.com\/teknoblog\/wp-content\/uploads\/myCodeSamples\/jQuery_Ajax\/ajax.txt&quot;\r\n            }).done(function( html ) {\r\n            $(&quot;#sonuc span&quot;).append(html);\r\n        });\r\n    });\r\n\r\n    $(&quot;#sonuc&quot;).ajaxComplete(function(event,request, settings){\r\n        $(this).prepend(&quot;Rica tamamland\u0131. Sonu\u00e7: &quot;);\r\n    });\r\n\r\n    $(&quot;#sonuc&quot;).ajaxStop(function(event,request, settings){\r\n        $(this).append(&quot;Bitti..&quot;);\r\n    });\r\n&lt;\/script&gt;\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;\r\n<\/pre>\n<p>Ajax ricas\u0131 bitti\u011fi anda ekrana &#8220;Bitti..&#8221; yazd\u0131r\u0131yoruz.<\/p>\n<h1>Yard\u0131mc\u0131 Fonksiyonlar<\/h1>\n<h1>jQuery.param()<\/h1>\n<p>Bir dizi veya nesnenin serile\u015ftirilmi\u015f temsilini olu\u015fturur.<br \/>\n\u00d6rnek uygulama -&gt; <a href=\"https:\/\/jsfiddle.net\/icntfan\/e8G7C\/\" target=\"_blank\">https:\/\/jsfiddle.net\/icntfan\/e8G7C\/<\/a><\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n&lt;!DOCTYPE html&gt;\r\n&lt;html&gt;\r\n&lt;head&gt;\r\n  &lt;style&gt;div { color:red; }&lt;\/style&gt;\r\n  &lt;script src=&quot;https:\/\/code.jquery.com\/jquery-latest.js&quot;&gt;&lt;\/script&gt;\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\n  &lt;div id=&quot;sonuc&quot;&gt;&lt;\/div&gt;\r\n&lt;script&gt;\r\n\r\n    var params = { width:1680, height:1050 };\r\n    var str = jQuery.param(params);\r\n    $(&quot;#sonuc&quot;).text(str);\r\n&lt;\/script&gt;\r\n\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;\u200b\r\n<\/pre>\n<p>Query string i\u00e7in serile\u015ftirilmi\u015f bir antar\/de\u011fer nesnesi olu\u015fturduk ve ekrana bast\u0131rd\u0131k.<\/p>\n<h1>.serialize()<\/h1>\n<p>Form elementlerini Ajax iste\u011fi i\u00e7in query string&#8217;e uygun bir ifadeye kodlar.<br \/>\n\u00d6rnek uygulama -&gt; <a href=\"https:\/\/jsfiddle.net\/icntfan\/nVhjp\/\" target=\"_blank\">https:\/\/jsfiddle.net\/icntfan\/nVhjp\/<\/a><\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n&lt;!DOCTYPE html&gt;\r\n&lt;html&gt;\r\n&lt;head&gt;\r\n  &lt;style&gt;\r\n  body, select { font-size:12px; }\r\n  form { margin:5px; }\r\n  p { color:red; margin:5px; font-size:14px; }\r\n  b { color:blue; }\r\n  &lt;\/style&gt;\r\n  &lt;script src=&quot;https:\/\/code.jquery.com\/jquery-latest.js&quot;&gt;&lt;\/script&gt;\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\n\r\n&lt;form&gt;\r\n    &lt;select name=&quot;tek&quot;&gt;\r\n      &lt;option&gt;Tek&lt;\/option&gt;\r\n      &lt;option&gt;Tek2&lt;\/option&gt;\r\n    &lt;\/select&gt;\r\n\r\n&lt;br \/&gt;\r\n    &lt;select name=&quot;coklu&quot; multiple=&quot;multiple&quot;&gt;\r\n      &lt;option selected=&quot;selected&quot;&gt;coklu&lt;\/option&gt;\r\n      &lt;option&gt;coklu2&lt;\/option&gt;\r\n\r\n      &lt;option selected=&quot;selected&quot;&gt;coklu3&lt;\/option&gt;\r\n    &lt;\/select&gt;\r\n&lt;br\/&gt;\r\n    &lt;input type=&quot;checkbox&quot; name=&quot;check&quot; value=&quot;kontrol1&quot; id=&quot;ch1&quot;\/&gt;\r\n\r\n    &lt;label for=&quot;ch1&quot;&gt;kontrol1&lt;\/label&gt;\r\n\r\n    &lt;input type=&quot;checkbox&quot; name=&quot;check&quot; value=&quot;kontrol2&quot; checked=&quot;checked&quot; id=&quot;ch2&quot;\/&gt;\r\n\r\n    &lt;label for=&quot;ch2&quot;&gt;kontrol2&lt;\/label&gt;\r\n&lt;br \/&gt;\r\n    &lt;input type=&quot;radio&quot; name=&quot;radio&quot; value=&quot;radio1&quot; checked=&quot;checked&quot; id=&quot;r1&quot;\/&gt;\r\n\r\n    &lt;label for=&quot;r1&quot;&gt;radio1&lt;\/label&gt;\r\n    &lt;input type=&quot;radio&quot; name=&quot;radio&quot; value=&quot;radio2&quot; id=&quot;r2&quot;\/&gt;\r\n\r\n    &lt;label for=&quot;r2&quot;&gt;radio2&lt;\/label&gt;\r\n  &lt;\/form&gt;\r\n  &lt;p&gt;&lt;tt id=&quot;results&quot;&gt;&lt;\/tt&gt;&lt;\/p&gt;\r\n&lt;script&gt;\r\n    function showValues() {\r\n      var str = $(&quot;form&quot;).serialize();\r\n      $(&quot;#results&quot;).text(str);\r\n    }\r\n    $(&quot;:checkbox, :radio&quot;).click(showValues);\r\n    $(&quot;select&quot;).change(showValues);\r\n    showValues();\r\n&lt;\/script&gt;\r\n\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;\u200b\r\n<\/pre>\n<p>Ajax ricas\u0131nda g\u00f6nderilmek \u00fczere formu query string ifadeye d\u00f6n\u00fc\u015ft\u00fcr\u00fcyoruz.<\/p>\n<h1>.serializeArray()<\/h1>\n<p>Form elementlerini dizi haline d\u00f6n\u00fc\u015ft\u00fcr\u00fcr.<br \/>\n\u00d6rnek uygulama -&gt; <a href=\"https:\/\/jsfiddle.net\/icntfan\/tCCPF\/\" target=\"_blank\">https:\/\/jsfiddle.net\/icntfan\/tCCPF\/<\/a><\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n&lt;!DOCTYPE html&gt;\r\n&lt;html&gt;\r\n&lt;head&gt;\r\n  &lt;style&gt;\r\n  body, select { font-size:14px; }\r\n  form { margin:5px; }\r\n  p { color:red; margin:5px; }\r\n  b { color:blue; }\r\n  &lt;\/style&gt;\r\n  &lt;script src=&quot;https:\/\/code.jquery.com\/jquery-latest.js&quot;&gt;&lt;\/script&gt;\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\n  &lt;p&gt;&lt;b&gt;Sonu\u00e7lar:&lt;\/b&gt; &lt;span id=&quot;sonuclar&quot;&gt;&lt;\/span&gt;&lt;\/p&gt;\r\n\r\n  &lt;form&gt;\r\n    &lt;select name=&quot;single&quot;&gt;\r\n      &lt;option&gt;Single&lt;\/option&gt;\r\n      &lt;option&gt;Single2&lt;\/option&gt;\r\n\r\n    &lt;\/select&gt;\r\n    &lt;select name=&quot;multiple&quot; multiple=&quot;multiple&quot;&gt;\r\n      &lt;option selected=&quot;selected&quot;&gt;Multiple&lt;\/option&gt;\r\n      &lt;option&gt;Multiple2&lt;\/option&gt;\r\n\r\n      &lt;option selected=&quot;selected&quot;&gt;Multiple3&lt;\/option&gt;\r\n    &lt;\/select&gt;&lt;br\/&gt;\r\n    &lt;input type=&quot;checkbox&quot; name=&quot;check&quot; value=&quot;check1&quot; id=&quot;ch1&quot;\/&gt;\r\n\r\n    &lt;label for=&quot;ch1&quot;&gt;check1&lt;\/label&gt;\r\n    &lt;input type=&quot;checkbox&quot; name=&quot;check&quot; value=&quot;check2&quot; checked=&quot;checked&quot; id=&quot;ch2&quot;\/&gt;\r\n\r\n    &lt;label for=&quot;ch2&quot;&gt;check2&lt;\/label&gt;\r\n    &lt;input type=&quot;radio&quot; name=&quot;radio&quot; value=&quot;radio1&quot; checked=&quot;checked&quot; id=&quot;r1&quot;\/&gt;\r\n\r\n    &lt;label for=&quot;r1&quot;&gt;radio1&lt;\/label&gt;\r\n    &lt;input type=&quot;radio&quot; name=&quot;radio&quot; value=&quot;radio2&quot; id=&quot;r2&quot;\/&gt;\r\n\r\n    &lt;label for=&quot;r2&quot;&gt;radio2&lt;\/label&gt;\r\n  &lt;\/form&gt;\r\n&lt;script&gt;\r\n\r\n    function showValues() {\r\n      var dizi = $(&quot;:input&quot;).serializeArray();\r\n      $(&quot;#sonuclar&quot;).empty();\r\n      jQuery.each(dizi, function(i, dizi){\r\n        $(&quot;#sonuclar&quot;).append(dizi.value + &quot; &quot;);\r\n      });\r\n    }\r\n\r\n    $(&quot;:checkbox, :radio&quot;).click(showValues);\r\n    $(&quot;select&quot;).change(showValues);\r\n    showValues();\r\n&lt;\/script&gt;\r\n\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;\u200b\r\n<\/pre>\n<p>Formdaki de\u011ferleri ald\u0131k, iterasyon ile teker teker ekrana bast\u0131rd\u0131k.<\/p>\n<h1>K\u0131salt\u0131lm\u0131\u015f Metotlar<\/h1>\n<h1>jQuery.get()<\/h1>\n<p>Bir HTTP GET iste\u011fi kullanarak sunucudan veri y\u00fckler.<\/p>\n<p>Bir ka\u00e7 kullan\u0131m \u015fekline g\u00f6z atal\u0131m.<\/p>\n<p>\u00d6ncelikle Ajax e\u015fleni\u011fi \u015fu \u015fekildedir:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n$.ajax({\r\n  url: url,\r\n  data: data,\r\n  success: success,\r\n  dataType: dataType\r\n});\r\n<\/pre>\n<p>test.php dosyas\u0131n\u0131 istedik ancak, sonu\u00e7lar\u0131 g\u00f6z ard\u0131 ettik.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n$.get(&quot;test.php&quot;);\r\n<\/pre>\n<p>test.php dosyas\u0131n\u0131 parametre g\u00f6ndererek istedik ancak, sonu\u00e7lar\u0131 g\u00f6z ard\u0131 ettik.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n$.get(&quot;test.php&quot;, { isim: &quot;Ulvi&quot;, saat: &quot;12:07&quot; } );\r\n<\/pre>\n<p>test.php dosyas\u0131n\u0131 istedik sonu\u00e7lar\u0131 bir uyar\u0131 ile ekrana bast\u0131rd\u0131k.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n$.get(&quot;test.php&quot;, function(data){\r\nalert(&quot;Y\u00fcklenen veri: &quot; + data);\r\n});\r\n<\/pre>\n<h1>jQuery.post()<\/h1>\n<p>Bir HTTP POST iste\u011fi kullanarak sunucudan veri y\u00fckler.<\/p>\n<p>Bir ka\u00e7 kullan\u0131m \u015fekline g\u00f6z atal\u0131m.<\/p>\n<p>\u00d6ncelikle Ajax e\u015fleni\u011fi \u015fu \u015fekildedir:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n$.ajax({\r\n  type: 'POST',\r\n  url: url,\r\n  data: data,\r\n  success: success,\r\n  dataType: dataType\r\n});\r\n<\/pre>\n<p>test.php dosyas\u0131n\u0131 istedik ancak, sonu\u00e7lar\u0131 g\u00f6z ard\u0131 ettik.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n$.post(&quot;test.php&quot;);\r\n<\/pre>\n<p>test.php dosyas\u0131n\u0131 parametre g\u00f6ndererek istedik ancak, sonu\u00e7lar\u0131 g\u00f6z ard\u0131 ettik.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n$.post(&quot;test.php&quot;, { isim: &quot;Ulvi&quot;, saat: &quot;12:07&quot; } );\r\n<\/pre>\n<p>test.php dosyas\u0131n\u0131 istedik sonu\u00e7lar\u0131 bir uyar\u0131 ile ekrana bast\u0131rd\u0131k.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n$.post(&quot;test.php&quot;, function(data){\r\nalert(&quot;Y\u00fcklenen veri: &quot; + data);\r\n});\r\n<\/pre>\n<h1>jQuery.getJSON()<\/h1>\n<p>Bir GET HTTP iste\u011fi kullanarak sunucudan JSON kodlanm\u0131\u015f verileri y\u00fckler.<br \/>\n\u00d6rnek uygulama -&gt; <a href=\"https:\/\/jsfiddle.net\/icntfan\/RdGzg\/\" target=\"_blank\">https:\/\/jsfiddle.net\/icntfan\/RdGzg\/<\/a><\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n&lt;!DOCTYPE html&gt;\r\n&lt;html&gt;\r\n&lt;head&gt;\r\n  &lt;style&gt;img{ height: 100px; float: left; }&lt;\/style&gt;\r\n  &lt;script src=&quot;https:\/\/code.jquery.com\/jquery-latest.js&quot;&gt;&lt;\/script&gt;\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\n  &lt;div id=&quot;resimler&quot;&gt;\r\n\r\n&lt;\/div&gt;\r\n&lt;script&gt;\r\n$.getJSON(&quot;https:\/\/api.flickr.com\/services\/feeds\/photos_public.gne?jsoncallback=?&quot;,\r\n  {\r\n    tags: &quot;istanbul bo\u011faz k\u00f6pr\u00fcs\u00fc&quot;,\r\n    tagmode: &quot;any&quot;,\r\n    format: &quot;json&quot;\r\n  },\r\n  function(data) {\r\n    $.each(data.items, function(i,item){\r\n      $(&quot;&lt;img\/&gt;&quot;).attr(&quot;src&quot;, item.media.m).appendTo(&quot;#resimler&quot;);\r\n      if ( i == 3 ) return false;\r\n    });\r\n  });&lt;\/script&gt;\r\n\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;\u200b\r\n<\/pre>\n<p>Flickr JSONP API kullanarak belirtti\u011fimiz &#8220;istanbul bo\u011faz k\u00f6pr\u00fcs\u00fc&#8221; etiketlerine uygun en son y\u00fcklenen 4 resmi \u00e7ekiyoruz.<\/p>\n<h1>jQuery.getScript()<\/h1>\n<p>Bir GET HTTP iste\u011fi kullanarak sunucudan bir JavaScript dosyas\u0131 y\u00fckler ve sonra da bunu \u00e7al\u0131\u015ft\u0131r\u0131r.<br \/>\n\u00d6rnek uygulama -&gt; <a href=\"https:\/\/jsfiddle.net\/icntfan\/KeW4k\/\" target=\"_blank\">https:\/\/jsfiddle.net\/icntfan\/KeW4k\/<\/a><\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n&lt;!DOCTYPE html&gt;\r\n&lt;html&gt;\r\n&lt;head&gt;\r\n  &lt;style&gt;\r\n.block {\r\n   background-color: blue;\r\n   width: 150px;\r\n   height: 70px;\r\n   margin: 10px;\r\n}&lt;\/style&gt;\r\n  &lt;script src=&quot;https:\/\/code.jquery.com\/jquery-latest.js&quot;&gt;&lt;\/script&gt;\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\n\r\n&lt;button id=&quot;go&quot;&gt;&amp;raquo; \u00c7al\u0131\u015ft\u0131r&lt;\/button&gt;\r\n\r\n&lt;div class=&quot;block&quot;&gt;&lt;\/div&gt;\r\n\r\n&lt;script&gt;\r\n$.getScript(&quot;https:\/\/api.jquery.com\/scripts\/jquery.color.js&quot;, function() {\r\n  $(&quot;#go&quot;).click(function(){\r\n    $(&quot;.block&quot;).animate( { backgroundColor: &quot;pink&quot; }, 1000)\r\n      .delay(500)\r\n      .animate( { backgroundColor: &quot;blue&quot; }, 1000);\r\n  });\r\n});\r\n&lt;\/script&gt;\r\n\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;\u200b\r\n<\/pre>\n<p>Resmi jQuery renk animasyon eklentisini y\u00fckl\u00fcyoruz ve \u00e7al\u0131\u015ft\u0131r\u0131yoruz.<\/p>\n<h1>.load()<\/h1>\n<p>Sunucudan veriyi y\u00fckler ve d\u00f6nen HTML de\u011feri se\u00e7ilen elemente yerle\u015ftirir.<br \/>\n\u00d6rnek uygulama -&gt; <a href=\"https:\/\/ulviercan.com\/teknoblog\/wp-content\/uploads\/myCodeSamples\/jQuery_Ajax\/ajax_load\/\" target=\"_blank\">https:\/\/ulviercan.com\/teknoblog\/wp-content\/uploads\/myCodeSamples\/jQuery_Ajax\/ajax_load\/<\/a><\/p>\n<p>index.html<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n&lt;!DOCTYPE html&gt;\r\n&lt;html&gt;\r\n&lt;head&gt;\r\n  &lt;style&gt;\r\n body{ font-size: 12px; font-family: Arial; }\r\n &lt;\/style&gt;\r\n  &lt;script src=&quot;https:\/\/code.jquery.com\/jquery-latest.js&quot;&gt;&lt;\/script&gt;\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\n\r\n&lt;b&gt;Footer Men\u00fcs\u00fc:&lt;\/b&gt;\r\n&lt;ol id=&quot;new-nav&quot;&gt;&lt;\/ol&gt;\r\n\r\n&lt;script&gt;\r\n  $(&quot;#new-nav&quot;).load(&quot;footer_menu.html&quot;);\r\n&lt;\/script&gt;\r\n\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;\r\n\r\n<\/pre>\n<p>footer_menu.html<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n    &lt;div id=&quot;jq-footerNavigation&quot;&gt;\r\n      &lt;ul&gt;\r\n        &lt;li class=&quot;jq-download jq-first&quot;&gt;&lt;a href=&quot;https:\/\/docs.jquery.com\/Downloading_jQuery&quot;&gt;Download&lt;\/a&gt;&lt;\/li&gt;\r\n        &lt;li class=&quot;jq-documentation&quot;&gt;&lt;a href=&quot;https:\/\/docs.jquery.com&quot;&gt;Documentation&lt;\/a&gt;&lt;\/li&gt;\r\n        &lt;li class=&quot;jq-tutorials&quot;&gt;&lt;a href=&quot;https:\/\/docs.jquery.com\/Tutorials&quot;&gt;Tutorials&lt;\/a&gt;&lt;\/li&gt;\r\n        &lt;li class=&quot;jq-bugTracker&quot;&gt;&lt;a href=&quot;https:\/\/bugs.jquery.com\/&quot;&gt;Bug Tracker&lt;\/a&gt;&lt;\/li&gt;\r\n        &lt;li class=&quot;jq-discussion jq-last&quot;&gt;&lt;a href=&quot;https:\/\/docs.jquery.com\/Discussion&quot;&gt;Discussion&lt;\/a&gt;&lt;\/li&gt;\r\n      &lt;\/ul&gt;\r\n    &lt;\/div&gt;&lt;!-- \/#jq-footerNavigation --&gt;\r\n\r\n<\/pre>\n<p>Uygulama 2 dosyadan olu\u015fmaktad\u0131r. \u0130lki ana dosyam\u0131z olan index.html di\u011feri ise veri \u00e7ekilecek olan dosya yani footer_menu.html. .load() metodu ile footer_menu.html dosyas\u0131nda bulunan veriyi \u00e7ekiyoruz.<\/p>\n<p>Faydalan\u0131lan kaynaklar:<br \/>\n1-) JQuery documentation -&gt; Ajax | <a href=\"https:\/\/api.jquery.com\/category\/ajax\/\" target=\"_blank\">https:\/\/api.jquery.com\/category\/ajax\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Web standartlar\u0131n\u0131n geli\u015fmesiyle birlikte yeni teknolojiler ortaya \u00e7\u0131k\u0131yor ve birle\u015fiyor. Ajax ve jQuery kombinasyonu bu birle\u015fimlerin en g\u00fczel \u00f6rneklerinden biridir. Ajax ile yeni tan\u0131\u015ft\u0131\u011f\u0131m\u0131z d\u00f6nemlerde, Ajax denen bu y\u00f6ntemi kullanmak deneyimli yaz\u0131l\u0131mc\u0131lar i\u00e7in bile zor olabiliyordu. Basit bir form ile veri g\u00f6ndermek i\u00e7in bile, onlarca sat\u0131r kod yazmak gerekiyordu. \u00dcst\u00fcne [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":462,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[35,41,21,36],"class_list":["post-461","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-jquery","tag-ajax","tag-javascript","tag-jquery-2","tag-jquery-ajax"],"_links":{"self":[{"href":"https:\/\/www.ulviercan.com\/teknoblog\/wp-json\/wp\/v2\/posts\/461","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ulviercan.com\/teknoblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ulviercan.com\/teknoblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ulviercan.com\/teknoblog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ulviercan.com\/teknoblog\/wp-json\/wp\/v2\/comments?post=461"}],"version-history":[{"count":39,"href":"https:\/\/www.ulviercan.com\/teknoblog\/wp-json\/wp\/v2\/posts\/461\/revisions"}],"predecessor-version":[{"id":695,"href":"https:\/\/www.ulviercan.com\/teknoblog\/wp-json\/wp\/v2\/posts\/461\/revisions\/695"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ulviercan.com\/teknoblog\/wp-json\/wp\/v2\/media\/462"}],"wp:attachment":[{"href":"https:\/\/www.ulviercan.com\/teknoblog\/wp-json\/wp\/v2\/media?parent=461"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ulviercan.com\/teknoblog\/wp-json\/wp\/v2\/categories?post=461"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ulviercan.com\/teknoblog\/wp-json\/wp\/v2\/tags?post=461"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}