खोज…
वाक्य - विन्यास
- वादा = लाने (उरेल)। तब (समारोह (प्रतिक्रिया) {})
- वादा = लाने (यूआरएल, विकल्प)
- वादा = लाने (अनुरोध)
पैरामीटर
विकल्प | विवरण |
---|---|
method | HTTP विधि अनुरोध के लिए उपयोग करने के लिए। उदा: GET , POST , PUT , DELETE , HEAD । जीएटी की GET । |
headers | अनुरोध में शामिल करने के लिए एक Headers ऑब्जेक्ट अतिरिक्त HTTP हेडर युक्त है। |
body | अनुरोध पेलोड, एक string या FormData ऑब्जेक्ट हो सकता है। करने के लिए चूक undefined |
cache | कैशिंग मोड। default , reload , no-cache |
referrer | अनुरोध का संदर्भ देने वाला। |
mode | cors , no-cors , same-origin । no-cors लिए चूक। |
credentials | omit , same-origin , include । चूक करने के लिए omit । |
redirect | follow , error , manual । follow करने के लिए चूक। |
integrity | संबद्ध अखंडता मेटाडेटा। खाली स्ट्रिंग में चूक। |
टिप्पणियों
फ़ेच मानक अनुरोधों, प्रतिक्रियाओं और उन्हें बांधने वाली प्रक्रिया को परिभाषित करता है: प्राप्त करना।
अन्य इंटरफेस के बीच, मानक Request
और Response
ऑब्जेक्ट्स को परिभाषित करता है, जो कि नेटवर्क अनुरोधों को शामिल करने वाले सभी कार्यों के लिए उपयोग किया जाता है।
इन इंटरफेस का एक उपयोगी अनुप्रयोग GlobalFetch
, जिसका उपयोग दूरस्थ संसाधनों को लोड करने के लिए किया जा सकता है।
ब्राउज़र के लिए जो अभी तक फ़ेच मानक का समर्थन नहीं करते हैं, GitHub के पास एक पॉलीफ़िल उपलब्ध है। इसके अलावा, एक Node.js कार्यान्वयन भी है जो सर्वर / क्लाइंट स्थिरता के लिए उपयोगी है।
रद्द करने के वादे के अभाव में आप गर्भ निवेदन ( github समस्या ) को रद्द नहीं कर सकते। लेकिन निरस्त वादों के लिए चरण 1 में T39 द्वारा एक प्रस्ताव है।
GlobalFetch
GlobalFetch इंटरफेस को उजागर करता fetch
समारोह है, जो अनुरोध संसाधन के लिए इस्तेमाल किया जा सकता है।
fetch('/path/to/resource.json')
.then(response => {
if (!response.ok()) {
throw new Error("Request failed!");
}
return response.json();
})
.then(json => {
console.log(json);
});
हल किया गया मान एक प्रतिसाद वस्तु है। इस ऑब्जेक्ट में प्रतिक्रिया का मुख्य भाग है, साथ ही यह स्थिति और हेडर है।
अनुरोध हेडर सेट करें
fetch('/example.json', {
headers: new Headers({
'Accept': 'text/plain',
'X-Your-Custom-Header': 'example value'
})
});
डाटा डालो
प्रपत्र डेटा पोस्ट कर रहा है
fetch(`/example/submit`, {
method: 'POST',
body: new FormData(document.getElementById('example-form'))
});
JSON डेटा पोस्ट करना
fetch(`/example/submit.json`, {
method: 'POST',
body: JSON.stringify({
email: document.getElementById('example-email').value,
comment: document.getElementById('example-comment').value
})
});
कुकीज़ भेजें
भ्रूण फ़ंक्शन डिफ़ॉल्ट रूप से कुकीज़ नहीं भेजता है। कुकीज़ भेजने के दो संभावित तरीके हैं:
- केवल कुकी भेजें यदि URL कॉलिंग स्क्रिप्ट के समान मूल पर है।
fetch('/login', {
credentials: 'same-origin'
})
- हमेशा क्रॉस-मूल कॉल के लिए भी कुकीज भेजें।
fetch('https://otherdomain.com/login', {
credentials: 'include'
})
JSON डेटा प्राप्त करना
// get some data from stackoverflow
fetch("https://api.stackexchange.com/2.2/questions/featured?order=desc&sort=activity&site=stackoverflow")
.then(resp => resp.json())
.then(json => console.log(json))
.catch(err => console.log(err));
स्टैक ओवरफ्लो एपीआई से प्रश्नों को प्रदर्शित करने के लिए फ़ेच का उपयोग करना
const url =
'http://api.stackexchange.com/2.2/questions?site=stackoverflow&tagged=javascript';
const questionList = document.createElement('ul');
document.body.appendChild(questionList);
const responseData = fetch(url).then(response => response.json());
responseData.then(({items, has_more, quota_max, quota_remaining}) => {
for (const {title, score, owner, link, answer_count} of items) {
const listItem = document.createElement('li');
questionList.appendChild(listItem);
const a = document.createElement('a');
listItem.appendChild(a);
a.href = link;
a.textContent = `[${score}] ${title} (by ${owner.display_name || 'somebody'})`
}
});