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 --------
.
.