खोज…


वाक्य - विन्यास

  • वादा = लाने (उरेल)। तब (समारोह (प्रतिक्रिया) {})
  • वादा = लाने (यूआरएल, विकल्प)
  • वादा = लाने (अनुरोध)

पैरामीटर

विकल्प विवरण
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-originno-cors लिए चूक।
credentials omit , same-origin , include । चूक करने के लिए omit
redirect follow , error , manualfollow करने के लिए चूक।
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
    })
});

कुकीज़ भेजें

भ्रूण फ़ंक्शन डिफ़ॉल्ट रूप से कुकीज़ नहीं भेजता है। कुकीज़ भेजने के दो संभावित तरीके हैं:

  1. केवल कुकी भेजें यदि URL कॉलिंग स्क्रिप्ट के समान मूल पर है।
fetch('/login', {
    credentials: 'same-origin'
})
  1. हमेशा क्रॉस-मूल कॉल के लिए भी कुकीज भेजें।
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'})`
  }
});


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow