यह बहुत बेतुका लगता है लेकिन मैंने अपना एक पुराना रिएक्ट प्रोजेक्ट खोला और दृश्य प्रस्तुत नहीं किया। निरीक्षण करने पर, मैंने पाया कि यह फ्लास्क सर्वर से एक HTML प्रतिक्रिया प्राप्त कर रहा है। हालांकि, मैं फ्रंटएंड पर वैध JSON प्रतिक्रिया भेज रहा हूं। यह पोस्टमैन क्लाइंट से भी स्पष्ट है जो एक JSON प्रतिक्रिया फेंकता है।

तो संक्षेप में, पोस्टमैन क्लाइंट को फ्लास्क सर्वर से अपेक्षित JSON प्रतिक्रिया मिल रही है लेकिन क्रोम ब्राउज़र नहीं है! यह कैसे/क्यों हो रहा है?

नीचे स्क्रीनशॉट संलग्न कर रहा हूँ

Unexpected behavior

0
Ananta K Roy 14 सितंबर 2020, 11:12

1 उत्तर

सबसे बढ़िया उत्तर

सर्वर और क्लाइंट अलग-अलग पोर्ट पर चल रहे हैं। पोस्टमैन अनुरोध पोर्ट 5000 पर भेजे जाते हैं और कोई भी समापन बिंदु localhost:5000 के सापेक्ष होता है। इसलिए पोस्टमैन पर प्रतिक्रिया अपेक्षित के रूप में है। हालांकि, रिएक्ट फ्रंटएंड के लिए अपनी कॉल को पोर्ट 5000 पर चल रहे बैकएंड पर पुनर्निर्देशित करने के लिए, हमें ऐसा करने के लिए फ्रंटएंड को बताने का एक तरीका चाहिए क्योंकि एंडपॉइंट उस पते के सापेक्ष हैं जिस पर वे चल रहे हैं। इसलिए, 5000 पर चलने वाले सर्वर के लिए एक एंडपॉइंट /questions का मतलब localhost:5000/questions है, लेकिन फ्रंटएंड के लिए इसका मतलब localhost:3000/questions है। यह कनेक्शन आपके प्रोजेक्ट के package.json पर proxy सेट करके प्रदान किया जाता है। प्रॉक्सी का मान सर्वर का पता होगा।

Proxy on package.json

0
Ananta K Roy 15 सितंबर 2020, 11:38