chrome · JavaScript
संदेश
TypeError: Failed to fetch
इसका मतलब
request बिना response ख़त्म हुआ, और browser जान-बूझकर कारण छिपाता है: CORS की रोक, मरा हुआ पता, ग़लत प्रमाणपत्र, और विज्ञापन रोकने वाला extension — सब यही दो शब्द देते हैं। यह फेंकी गई त्रुटि है, कोई status नहीं, इसलिए 404 या 500 यहाँ तक कभी नहीं आते — server जवाब देने तक पहुँचा ही नहीं। अक्सर console में या Network टैब में इसके ठीक ऊपर एक और अधिक विशिष्ट पंक्ति होती है, पहले उसे पढ़ें; और उस URL को curl -i से मारना "server गिरा है" और "browser ने मना किया" को अलग कर देता है। Firefox में यही स्थिति NetworkError when attempting to fetch resource के रूप में आती है।
सुधार
curl -i https://api.example.com/data- कौन देता है
- chrome
- JavaScript
- 15
browser और node की त्रुटियाँ आमतौर पर यही बताती हैं कि क्या टूटा, यह नहीं कि वह मान ऐसा क्यों बना — आपने undefined पढ़ा, वह function नहीं था, वह JSON नहीं था — इसलिए सुधार की जगह उस पंक्ति से ऊपर है जिसने त्रुटि फेंकी, और ?. तथा डिफ़ॉल्ट मानों से केवल उस पंक्ति को चुप कराने पर वही समस्या और दूर जाकर, और कठिन रूप में लौट आती है।
एरर संदेश कैसे पढ़ें
- पहली पंक्ति से पढ़ें। जितना नीचे जाएँगे उतना वह औज़ार के भीतर की बात है; कारण आम तौर पर सबसे ऊपर लिखा होता है।
- फ़ाइल का नाम और पंक्ति संख्या दिखे तो वहीं से शुरू करें — stack का सबसे ऊपरी frame नहीं, बल्कि वह सबसे ऊपरी पंक्ति जिसमें आपकी लिखी फ़ाइल का नाम हो।
- संदेश को जैसा है वैसा खोजें, पर पहले अपने paths और variable नाम हटा दें — वही खोज को अटकाते हैं।
- वही स्थिति औज़ार के हर संस्करण में अलग शब्दों में आती है। नतीजे बेमेल लगें तो संस्करण संख्या भी जोड़ें।
- कोई सुधार चिपकाने से पहले देख लें कि वह क्या फेंक देगा। इनमें कुछ पलटे नहीं जा सकते।
अक्सर पूछे जाने वाले सवाल
Q. “TypeError: Failed to fetch” का क्या मतलब है?
request बिना response ख़त्म हुआ, और browser जान-बूझकर कारण छिपाता है: CORS की रोक, मरा हुआ पता, ग़लत प्रमाणपत्र, और विज्ञापन रोकने वाला extension — सब यही दो शब्द देते हैं। यह फेंकी गई त्रुटि है, कोई status नहीं, इसलिए 404 या 500 यहाँ तक कभी नहीं आते — server जवाब देने तक पहुँचा ही नहीं। अक्सर console में या Network टैब में इसके ठीक ऊपर एक और अधिक विशिष्ट पंक्ति होती है, पहले उसे पढ़ें; और उस URL को curl -i से मारना "server गिरा है" और "browser ने मना किया" को अलग कर देता है। Firefox में यही स्थिति NetworkError when attempting to fetch resource के रूप में आती है।
Q. इसे कैसे ठीक करें?
curl -i https://api.example.com/data — चलाने से पहले ऊपर देख लें कि यह कमांड क्या फेंक देता है।
Q. यह कौन-सा औज़ार देता है?
chrome। यह JavaScript में आता है, और संदेश 4 शब्दों का है।