Junior
fetch yöntemi ne alır?
sobes.tech yapay zeka
AI'dan gelen yanıt
fetch yöntemi, bir zorunlu argüman olan istek yolu (RequestInfo veya URL) ve bir isteğe bağlı argüman olan ayar nesnesi (RequestInit) alır.
Zorunlu argüman (input) :
- Dize: Kaynak URL'si.
Requestnesnesi:Requestsınıfının bir örneği olup, isteğin daha esnek yapılandırılmasını sağlar (başlıklar, yöntem vb.).
İsteğe bağlı argüman (init) : İsteğin yapılandırmasını tanımlayan alanlara sahip bir nesne. Sık kullanılan bazı alanlar:
method: HTTP isteği yöntemi (GET,POST,PUT,DELETE,OPTIONSvb.).headers: İstek başlıkları. Anahtar-değer nesnesi veyaHeaderssınıfı örneği olabilir.body: İstek gövdesi (GETveyaHEADdışındaki yöntemler için). Dize,ArrayBuffer,TypedArray,DataView,Blob,FormData,URLSearchParamsveyaReadableStreamolabilir.mode: İstek modu (cors,no-cors,same-origin,navigate).credentials: Kimlik bilgisi gönderme ayarı (omit,same-origin,include).cache: Önbellekleme ayarı (default,no-store,reload,no-cache,force-cache,only-if-cached).redirect: Yönlendirmeleri nasıl işleyeceği (follow,error,manual).referrer:Refererbaşlığı için değer.referrerPolicy:Refererbaşlığının iletim politikası.integrity:Integritybaşlığı için değer. Alt kaynak bütünlüğü için kullanılır.keepalive: Sayfa kapandıktan sonra isteğin aktif kalmasını belirten boolean değer (analitik veya rapor gönderimi için).signal: İsteği iptal etmek içinAbortSignalörneği.window: İle ilişkili olan Window nesnesi (varsayılan olarak mevcut pencere).
Kullanım örneği:
// GET isteği
fetch('/api/users')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Hata:', error));
// Gövde ve başlıklar ile POST isteği
fetch('/api/products', {
method: 'POST', // HTTP yöntemi
headers: {
'Content-Type': 'application/json', // Gönderilen veri tipi
'Authorization': 'Bearer your_token' // Yetkilendirme başlığı örneği
},
body: JSON.stringify({ name: 'Yeni ürün', price: 100 }) // İstek gövdesi
})
.then(response => {
if (!response.ok) {
throw new Error(`HTTP hatası! durum: ${response.status}`);
}
return response.json();
})
.then(data => console.log('Başarılı:', data))
.catch(error => console.error('Hata:', error));