Accept
header'ında gönderilir. Bu header
server'a nasıl bir değer dönüşü beklendiğini (kabul edileceğini) bildirir. Aşağıdaki örnek
mycustomtype
tipinde bir veri beklediğini server'a bildirir.
dataType: "jsonp"
veri tipi istekler senkron çalışmayı desteklemez. jQuery
versiyon 1.8 sonrası senkron çalışma iptal edilerek, success/error/complete callback
metodları kullanımı zorunlu yapılmıştır.
beforeSend
fonksiyonundan false değer dönmesi Ajax isteğini
iptal eder.
true
, eğer dataType script ya da jsonp
ise false
döner ) false
yapılırsa tarayıcının istek yapılan bilgiyi geçici hafızasında
saklaması engellenir. Not: cache
değerini false yapmak sadece
HEAD ve GET isteklerinde çalışır.
success
ve error
olay işleyicilerinden sonra çalışır ). Fonksiyona iki parametre geçer, jqXHR nesnesi
ve isteğin durumunu ifade eden bir string değer ( "success"
, "notmodified"
,
"nocontent"
, "error"
, "timeout"
, "abort"
veya
parsererror
). Versiyon 1.5 sonrası complete
özelliği fonksiyonlardan
oluşan bir array de değer alabilir, bu fonksiyonlar sırayla çalıştırılır. Bu bir
Ajax Olayıdır.
application/x-www-form-urlencoded; charset=UTF-8
')$.ajax()
ile bir contentType verilmişse veri gönderilmese
bie bu tip server'a gönderilir. Versiyon 1.6'dan itibaren bu değere false vererek
jQuery'nin bir veri tipi header göndermesi istenmediği belirtilir.
<body>
elemanına done
sınıf değeri eklenir.
{"* text": window.String, "text html": true,
"text json": jQuery.parseJSON, "text xml": jQuery.parseXML}
) aynı domain'de istekler için false ,
ayrı domain istekler için true
) true
değeri girin. Bu sayede örneğin server tarafından başka domainlere redirect etme
imkanı verebilirsiniz.
processData
opsiyonunda false
değer verilmemişse , jQuery nesnenin key-value çiftlerinden bir veri string'i
oluşturur. Örneğin { a: "bc", d: "e,f" }
nesnesi "a=bc&d=e%2Cf"
string'ine dönüştürülür. Eğer değer bir array'se default traditional: false
ayarı ile birçok değer aynı key ile verilir. Örnek { a: [1,2] }
dönüştürülünce
"a%5B%5D=1&a%5B%5D=2"
olur, bu aslında "a[]=1&a[]=2"
string'inin url'e uygun dönüştürülmüş hali. data
bir string yapılırken contentType
'da belirtildiği
şekilde dönüştürülmüş olmalıdır. dataType: "json"
veya dataType: "jsonp"
olan isteklerde
eğer URL içinde çift soru işareti (??) veya sorgu stringinde tek soru işareti (?)
varsa jQuery tarafından üretilen ve her sayfada biricik olan bir değere değiştirilir
(mesela jQuery21406515378922229067_1479880736745
)
Akıllı tahmin (xml, json, script, veya html)
) "xml"
JQuery tarafından işlenebilen bir XML döküman döner
"html"
HTML kodu düz yazı olarak döner, script tag'leri DOM'a
monte edildiğinde çalışacaktır.
"script"
Cevabı JavaScript olarak çalıştırır ve düz yazı olarak geri
döner. Eğer cache
opsiyonuna true değer verilmemişse, URL'e
_=[TIMESTAMP]
sorgu parametresi ekleyerek cash edilmesini engeller.
Not : bu uzak dömain'ler için POST istekleri GET'e çevirir.
"json"
Cevabı bir JSON veri olarak işler ve bir JavaScript nesnesi
döner. Domain'ler arası örneğin ?callback=?
gibi callback değeri olan
"json"
istekler eğer istek ayarlarında jsonp: false
olarak
belirtilmediyse JSONP
olarak işlenir. JSON veri çok katı kurallarla işlenir, herhangi bir hatalı JSON veri
yazımı bir parse hatası olarak geri döner. Versiyon 1.9 sonrasında boş cevaplar
da kabul edilmez, server ya null
ya da { }
dönmelidir. (
sağlıklı JSON formatları için json.org
adresine bakınız )
"jsonp"
Bir JSON bloğuna
JSONP
kullanarak değer yükler. Bir callback belirtmek için URL sonuna "?callback=?"
eklenir. cache
opsiyonuna true
değer verilmemişse URL'e
eklenen sorgu parametrelerine "_=[TIMESTAMP]"
ekleyerek cache edilmesini
engeller.
"text"
düz yazı bir string.
Birden çok boşlukla ayrılmış değer
Versiyon 1.5'ten itibaren jQuery
Content-Type header'ında alınan bir dataType'ı ihtiyacınız olan tipe
dönüştürür. Örneğin bir text cevaba XML gibi davranılmasını istiyorsanız,
dataType değerine "text xml"
verirsiniz. Ayrıca bir JSONP isteği yapıp
text olarak gelen cevabın jQuery tarafından XML olarak işlenmesi için
"jsonp text xml"
değeri verirsiniz. Benzer olarak kısaca "jsonp xml"
değeri verirseniz direk dönüştürmeyi başaramayacağı için önce JSONP'den text'e , oaradan
XML'e çevirecektir.
null
hariç), "timeout"
, "error"
,
"abort"
ve "parseerror"
. Bir HTTP hatası oluşursa erroThrown
değerine "Not Found" ya da "Internal Server Error" gibi HTTP status'un yazı kısmı konur.
Versiyon 1.5 sonrası birden fazla fonksiyonu da bir array içinde değer olarak alabilir,
fonksiyonlar sırayla çalıştırılır. Not : Bu olay işleyicisi domain'ler arası
script ve domain'ler arası JSONP isteklerde çalıştırılmaz. Bu bir
Ajax Olayı'dır.
true
) false
yapılırsa ajaxStart
veya ajaxStop
gibi
global olaylar tetiklenmeyecektir. Global olayları Ajax Olayları
başlığında görebilirsiniz.
{ }
) X-Requested-With: XMLHttpRequest
header değeri her
zaman eklenir, fakat XMLHttpRequest
default değeri burada değiştirilebilir.
headers
ayarı içindeki değerler ayrıca beforeSend
ile verilen
fonksiyon içinde de değiştirilebilir.
false
) false
,
header'ı dikkate almaz, her isteğin başarılı sonlanmasına izin verir.
mevcut lcation protocol'e bağlı
) file
, *-extension
, ve widget
progtokolleri
"lokal" kabul edilir. Eğer isLocal
özelliğine değer verilecekse
$.ajaxSetup()
metodu içinde yapılması tavsiye edlir.
'callback=?'
parçasındaki callback
yerine
yazılmalıdır. Yani {jsonp:'onJSONPLoad'}
değeri server'a 'onJSONPLoad=?'
şeklinde bir URL'ye ilave parametre server'a gönderilir. Versiyon 1.5 sonrası jsonp
özelliğine false
değeri varmek jQuery'nin URL'e "?callback" değerini
eklemesini engeller. Bu durumda ayrıca jsonpCallback
değerine bakmanız
gerekir. Örneğin { jsonp: false, jsonpCallback: "callbackName" }
. Eğer
Ajax isteği yaptığınız yere güvenmiyorsanız, güvenlik için jsonp
özelliğini
false
yapabilirsiniz.
true
) data
özelliğinde veriler işlenip sorgu stringe dönüştürülecek
bir nesne olarak verilir (String'den başka veriler için). content-type
"application/x-www-form-urlencoded" değerine uygun dönüştürülür. Eğer bir DOMdocument ya da başka
işlenmeyen bir değer göndermek isterseniz bu değeri false
yapınız.
scriptAttrs
içinde charset
özelliğinde verilerek "script" aktarımdan emin olunabilir.
{ }
) dataType
ile belirtilen formatta
ve dataFilter
'a göre düzenlenmiş olarak. Eğer varsa status değeri
string olarak, ve jqXHR nesnesi. Versiyon 1.5 sonrası bu özelliğe fonksiyonlardan
oluşan bir array verilebilir, verilen fonksiyonlar sırayla çalışır.
$.ajax
metodu çağrılmasıyla başlar.
Eğer o esnada başka istekler de aktifse ve tarayıcı sunucuya ulaşmakta sorun yaşıyorsa
timeout oluşabiliir.
true
yapın.
"GET"
) method
özelliğinin isim eşdeğeri. Versiyon 1.9.0 öncesi için
type
özelliği kullanınız.
şu anda bulunulan sayfa
) mümkünse ActiveXObject (IE için), diğerleri için XMLHttpRequest
) XMLHttpRequest
nesnesini oluşturan callback metod. IE için
ActiveXObject
default değerine sahiptir, diğerlerinde XMLHttpRequest
default değerdedir. Default'tan başka bir şey olması ya da kendi XMLHttpRequest uyarlamanızı
yapmak için, üzerine yazarsınız.
XHR
nesnesinin ayarlarını yapmak için kullanılan nesne. Örneğin domain'ler arası istekler için
withCredentials
özelliğini true
olarak ayarlayabilirsiniz.
$.ajax()
fonksiyonu jQuery tarafından yapılan tüm Ajax isteklerinin arkasında
kullanılan fonksiyondur. Daha üst seviyedeki $.get()
ve
.load()
gibi daha kolay kulllanımlı alternatifleri
kullanıldığı için bu metod direk olarak pek kullanılmaz.
------- TO DO --------
.
.