Junior
Метод fetch чӣ қабул мекунад?
sobes.tech AI
Ҷавоб аз AI
Метод fetch қабул мекунад як аргумент зарурӣ — роҳ ба дархост (RequestInfo ё URL) — ва як аргумент ихтиёрӣ — объект танзимот (RequestInit).
Аргументи зарурӣ (input):
- Сатр: URL-и манбаъ.
- Объект
Request: Намунаи синфиRequest, ки танзимоти дархости бештарро пешниҳод мекунад (сарлавҳаҳо, усул ва ғайра).
Аргументи ихтиёрӣ (init): Объект бо майдонҳое, ки танзимоти дархостро тавсиф мекунанд. Баъзе майдонҳои маъмул:
method: Усули HTTP-и дархост (GET,POST,PUT,DELETE,OPTIONSва ғайра).headers: Сарлавҳаҳои дархост. Мумкин аст объекти калид-арзиш ё намунаи синфиHeaders.body: Танаи дархост (барои усулҳое, ки азGETёHEADфарқ мекунанд). Мумкин аст сатр,ArrayBuffer,TypedArray,DataView,Blob,FormData,URLSearchParamsёReadableStreamбошад.mode: Ҳолати дархост (cors,no-cors,same-origin,navigate).credentials: Танзимоти ирсол кардани маълумоти корбарӣ (omit,same-origin,include).cache: Танзимоти кешгирӣ (default,no-store,reload,no-cache,force-cache,only-if-cached).redirect: Чӣ гуна коркарди равонакунииҳо (follow,error,manual).referrer: Арзиши барои сарлавҳаиReferer.referrerPolicy: Сиёсати интиқоли сарлавҳаиReferer.integrity: Арзиши барои сарлавҳаиIntegrity. Барои Subresource Integrity истифода мешавад.keepalive: Арзиши булӣ, ки нишон медиҳад, ки дархост пас аз анҷоми саҳифа бояд боқӣ монад (барои фиристодани аналитика ё ҳисоботҳо).signal: НамунаиAbortSignalбарои бекор кардани дархост.window: Объекти Window, ки дар он дархост алоқаманд аст (ба муқаррарӣ, тирезаи ҳозира).
Маслиҳат барои истифода:
// Дархости GET
fetch('/api/users')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Хатогӣ:', error));
// Дархости POST бо тана ва сарлавҳаҳо
fetch('/api/products', {
method: 'POST', // Усули HTTP
headers: {
'Content-Type': 'application/json', // Навъи додаҳо
'Authorization': 'Bearer your_token' // Масалан, сарлавҳаи иҷозатнома
},
body: JSON.stringify({ name: 'Нав маҳсулот', price: 100 }) // Танаи дархост
})
.then(response => {
if (!response.ok) {
throw new Error(`Хатогии HTTP! статус: ${response.status}`);
}
return response.json();
})
.then(data => console.log('Муҳим:', data))
.catch(error => console.error('Хатогӣ:', error));