Logo
Network Requests
- Fetch
let promise = fetch(url, [options]);
Option verilmediğinde get isteğine dönüşür. Options , method veya headers olabilir. Tarayıcı isteği hemen başlatır ve çağıran kodun sonucu almak için kullanması gerektiğine dair bir söz döndürür. Yanıt almak genellikle iki aşamalı bir süreçtir.
- İlk olarak, fetch tarafından döndürülen promise, sunucu başlıklarla yanıt verir vermez yerleşik Response sınıfının bir nesnesiyle çözümlenir.
- Bu aşamada başarılı olup olmadığını görmek için HTTP durumunu kontrol edebiliriz, başlıkları kontrol edebiliriz ancak henüz gövdeye sahip değiliz.
- Getirme HTTP isteğini gerçekleştiremezse söz reddedilir; ağ sorunları veya böyle bir site yok. 404 veya 500 gibi anormal HTTP durumları hataya neden olmaz.
- Yanıt özelliklerinde HTTP durumunu görebiliriz:
let response = await fetch(url);
if (response.ok) {
// if HTTP-status is 200-299
// get the response body (the method explained below)
let json = await response.json();
} else {
alert("HTTP-Error: " + response.status);
}
- İkincisi, yanıt gövdesini almak için ek bir yöntem çağrısı kullanmamız gerekir.
Response.text() – yanıtı okur ve metin olarak geri döner,
Response.json() – yanıtı JSON olarak ayrıştırır,
Response.formData() – yanıtı FormData nesnesi olarak döndürür (sonraki bölümde açıklanmıştır)
Response.blob() – yanıtı Blob (türlü ikili veri) olarak döndürür,
Response.arrayBuffer() – yanıtı ArrayBuffer olarak döndürür (ikili verilerin düşük seviyeli gösterimi),
Response Headers
Cache-control
Content-Type
Expires
Pragma