Fetch API, JavaScript'te HTTP istekleri yapmak için modern bir arayüzdür. XMLHttpRequest'ten daha güçlü ve esnek bir özellik seti sunar. Bu başvuru kılavuzu, Fetch API'nin yaygın kullanım durumlarını ve özelliklerini kapsar.
fetch('https://api.example.com/data')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Hata:', error));
fetch('https://api.example.com/data', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
anahtar: 'değer'
})
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Hata:', error));
fetch('https://api.example.com/data', {
method: 'POST', // *GET, POST, PUT, DELETE, vb.
mode: 'cors', // no-cors, *cors, same-origin
cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached
credentials: 'same-origin', // include, *same-origin, omit
headers: {
'Content-Type': 'application/json'
// 'Content-Type': 'application/x-www-form-urlencoded',
},
redirect: 'follow', // manual, *follow, error
referrerPolicy: 'no-referrer', // no-referrer, *no-referrer-when-downgrade, origin, origin-when-cross-origin, same-origin, strict-origin, strict-origin-when-cross-origin, unsafe-url
body: JSON.stringify(data) // gövde veri tipi "Content-Type" başlığı ile eşleşmeli
})
.then(response => response.json())
.then(data => console.log(data));
fetch('https://api.example.com/data')
.then(response => {
if (!response.ok) {
throw new Error('Ağ yanıtı uygun değildi');
}
return response.json();
})
.then(data => console.log(data))
.catch(error => console.error('Hata:', error));
fetch('https://api.example.com/data')
.then(response => {
console.log(response.status); // örn. 200
console.log(response.statusText); // örn. "OK"
console.log(response.headers.get('Content-Type'));
return response.text();
// Diğer metodlar: .json(), .blob(), .formData(), .arrayBuffer()
})
.then(data => console.log(data));
fetch('https://api.example.com/data', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
anahtar: 'değer'
})
})
.then(response => response.json())
.then(data => console.log(data));
const formData = new FormData();
formData.append('anahtar1', 'değer1');
formData.append('anahtar2', 'değer2');
fetch('https://api.example.com/data', {
method: 'POST',
body: formData
})
.then(response => response.json())
.then(data => console.log(data));
fetch('https://api.example.com/data')
.then(response => {
if (!response.ok) {
throw new Error('HTTP hatası ' + response.status);
}
return response.json();
})
.then(data => {
// Verilerinizi burada işleyin
})
.catch(error => {
console.log('Fetch işleminde bir sorun oluştu: ' + error.message);
});
const controller = new AbortController();
const signal = controller.signal;
fetch('https://api.example.com/data', {
signal: signal
})
.then(response => response.json())
.then(data => console.log(data))
.catch(err => {
if (err.name === 'AbortError') {
console.log('Fetch iptal edildi');
} else {
console.error('Hay aksi, bir hata!', err);
}
});
// İsteği 5 saniye sonra iptal et
setTimeout(() => controller.abort(), 5000);
fetch('https://api.example.com/data', {
credentials: 'include'
})
.then(response => response.json())
.then(data => console.log(data));
fetch('https://api.example.com/data', {
headers: {
'Authorization': 'Bearer TOKEN_BURAYA',
'Content-Type': 'application/json'
}
})
.then(response => response.json())
.then(data => console.log(data));
fetch('https://api.example.com/stream')
.then(response => {
const reader = response.body.getReader();
return new ReadableStream({
start(controller) {
return pump();
function pump() {
return reader.read().then(({ done, value }) => {
if (done) {
controller.close();
return;
}
controller.enqueue(value);
return pump();
});
}
}
})
})
.then(stream => new Response(stream))
.then(response => response.blob())
.then(blob => URL.createObjectURL(blob))
.then(url => console.log(url))
.catch(err => console.error(err));
2024 © Tüm hakları saklıdır - buraxta.com