$lang['tuto'] = "ਟਿ utorial ਟੋਰਿਅਲਸ"; ?> ReactJS: Chrome CORS ਪਲੱਗਇਨ ਨੂੰ

ReactJS: Chrome CORS ਪਲੱਗਇਨ ਨੂੰ ਜੋੜਨ ਤੋਂ ਬਾਅਦ, ਅਣ-ਹੈਂਡਲਡ ਅਸਵੀਕਾਰ (TypeError) ਪ੍ਰਾਪਤ ਕਰਨ ਵਿੱਚ ਅਸਫਲ ਰਿਹਾ

Temp mail SuperHeros
ReactJS: Chrome CORS ਪਲੱਗਇਨ ਨੂੰ ਜੋੜਨ ਤੋਂ ਬਾਅਦ, ਅਣ-ਹੈਂਡਲਡ ਅਸਵੀਕਾਰ (TypeError) ਪ੍ਰਾਪਤ ਕਰਨ ਵਿੱਚ ਅਸਫਲ ਰਿਹਾ
ReactJS: Chrome CORS ਪਲੱਗਇਨ ਨੂੰ ਜੋੜਨ ਤੋਂ ਬਾਅਦ, ਅਣ-ਹੈਂਡਲਡ ਅਸਵੀਕਾਰ (TypeError) ਪ੍ਰਾਪਤ ਕਰਨ ਵਿੱਚ ਅਸਫਲ ਰਿਹਾ

ਪ੍ਰਤੀਕਿਰਿਆ ਵਿੱਚ API ਗਲਤੀਆਂ ਨੂੰ ਸੰਭਾਲਣਾ: CORS ਪਲੱਗਇਨ ਚੁਣੌਤੀਆਂ

ਵਿੱਚ APIs ਨਾਲ ਕੰਮ ਕਰਦੇ ਸਮੇਂ ReactJS, ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਅਕਸਰ ਡੇਟਾ ਪ੍ਰਾਪਤ ਕਰਨ ਨਾਲ ਸਬੰਧਤ ਵੱਖ-ਵੱਖ ਚੁਣੌਤੀਆਂ ਦਾ ਸਾਹਮਣਾ ਕਰਨਾ ਪੈਂਦਾ ਹੈ, ਖਾਸ ਕਰਕੇ ਜਦੋਂ ਤੀਜੀ-ਧਿਰ APIs ਨਾਲ ਨਜਿੱਠਣਾ ਹੁੰਦਾ ਹੈ। ਇੱਕ ਆਮ ਮੁੱਦਾ ਜੋ ਪੈਦਾ ਹੁੰਦਾ ਹੈ ਉਹ ਹੈ "ਅਨਹੈਂਡਲਡ ਅਸਵੀਕਾਰ (ਟਾਈਪ ਐਰਰ): ਪ੍ਰਾਪਤ ਕਰਨ ਵਿੱਚ ਅਸਫਲ" ਗਲਤੀ। ਇਹ ਤਰੁੱਟੀ ਉਦੋਂ ਵੀ ਹੋ ਸਕਦੀ ਹੈ ਜਦੋਂ ਪ੍ਰਸਿੱਧ API ਜਿਵੇਂ ਕਿ Swiggy's restaurant list API ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਜਿਸਨੂੰ ਬਹੁਤ ਸਾਰੇ ਡਿਵੈਲਪਰ ਆਪਣੇ ਵੈਬ ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੂੰ ਵਧਾਉਣ ਲਈ ਵਰਤਦੇ ਹਨ।

ਇਸ ਸਥਿਤੀ ਵਿੱਚ, ਇੱਕ CORS Chrome ਐਕਸਟੈਂਸ਼ਨ ਨੂੰ ਜੋੜਨਾ ਪ੍ਰਤੀਬੰਧਿਤ ਬ੍ਰਾਊਜ਼ਰ ਨੀਤੀਆਂ ਨੂੰ ਬਾਈਪਾਸ ਕਰਨ ਲਈ ਇੱਕ ਵਿਹਾਰਕ ਹੱਲ ਵਾਂਗ ਜਾਪਦਾ ਹੈ। ਹਾਲਾਂਕਿ, ਇਹ ਮੁੱਦੇ ਨੂੰ ਸੁਲਝਾਉਣ ਦੀ ਬਜਾਏ ਨਵੀਂ ਪੇਚੀਦਗੀਆਂ ਪੇਸ਼ ਕਰ ਸਕਦਾ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ ਆਪਣੇ ਵਿਕਾਸ ਵਾਤਾਵਰਣ ਵਿੱਚ ਇੱਕ CORS ਪਲੱਗਇਨ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹੋ, ਅਤੇ ਤੁਹਾਡੀਆਂ API ਬੇਨਤੀਆਂ ਲੋਡ ਹੋਣ ਤੋਂ ਥੋੜ੍ਹੀ ਦੇਰ ਬਾਅਦ ਅਸਫਲ ਹੋ ਜਾਂਦੀਆਂ ਹਨ, ਤਾਂ ਤੁਸੀਂ ਇੱਕ ਸਮੱਸਿਆ ਦਾ ਸਾਹਮਣਾ ਕਰ ਸਕਦੇ ਹੋ ਜਿੱਥੇ ਪਲੱਗਇਨ ਬ੍ਰਾਊਜ਼ਰ ਦੇ ਬੇਨਤੀ-ਪ੍ਰਬੰਧਨ ਵਿਵਹਾਰ ਨਾਲ ਟਕਰਾਅ ਕਰਦੀ ਹੈ।

ਸਮਝਣਾ ਕਿ ਕ੍ਰਾਸ-ਓਰੀਜਨ ਬੇਨਤੀਆਂ ਅਤੇ ਸਮੱਸਿਆ ਦਾ ਨਿਪਟਾਰਾ ਕਿਵੇਂ ਕਰਨਾ ਹੈ CORS ਤਰੁੱਟੀਆਂ ReactJS ਵਿੱਚ ਇੱਕ ਨਿਰਵਿਘਨ ਵਿਕਾਸ ਪ੍ਰਕਿਰਿਆ ਲਈ ਜ਼ਰੂਰੀ ਹੈ। Swiggy's ਵਰਗੇ API ਵਿੱਚ ਅਕਸਰ ਸੁਰੱਖਿਆ ਪਰਤਾਂ ਹੁੰਦੀਆਂ ਹਨ, ਜਿਵੇਂ ਕਿ CORS, ਅਣਅਧਿਕਾਰਤ ਗਾਹਕਾਂ ਤੋਂ ਪਹੁੰਚ ਨੂੰ ਕੰਟਰੋਲ ਕਰਨ ਲਈ। ਇਹ ਪਾਬੰਦੀਆਂ ਗਲਤੀਆਂ ਦਾ ਕਾਰਨ ਬਣ ਸਕਦੀਆਂ ਹਨ ਜਿਨ੍ਹਾਂ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਹੱਲ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।

ਇਸ ਗਾਈਡ ਵਿੱਚ, ਅਸੀਂ ਖੋਜ ਕਰਾਂਗੇ ਕਿ ਇਹ ਗਲਤੀ ਕਿਉਂ ਵਾਪਰਦੀ ਹੈ, ਖਾਸ ਤੌਰ 'ਤੇ Chrome ਵਿੱਚ ਇੱਕ CORS ਪਲੱਗਇਨ ਜੋੜਨ ਤੋਂ ਬਾਅਦ। ਅਸੀਂ ਤੁਹਾਡੇ ਵਿੱਚ Swiggy API ਦੇ ਨਾਲ ਕੰਮ ਕਰਦੇ ਹੋਏ ਇਸਨੂੰ ਹੱਲ ਕਰਨ ਲਈ ਰਣਨੀਤੀਆਂ 'ਤੇ ਵੀ ਚਰਚਾ ਕਰਾਂਗੇ ਪ੍ਰਤੀਕਿਰਿਆ ਕਰੋ ਐਪਲੀਕੇਸ਼ਨਾਂ।

ਹੁਕਮ ਵਰਤੋਂ ਦੀ ਉਦਾਹਰਨ
fetch() ਇਹ ਕਮਾਂਡ Swiggy API ਨੂੰ HTTP ਬੇਨਤੀਆਂ ਕਰਨ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਹੈ। ਇਹ ਅਸਿੰਕਰੋਨਸ ਤੌਰ 'ਤੇ ਸਰੋਤਾਂ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ ਅਤੇ ਇੱਕ ਵਾਅਦਾ ਵਾਪਸ ਕਰਦਾ ਹੈ, ਜੋ ਇੱਕ ਰਿਸਪਾਂਸ ਆਬਜੈਕਟ ਨੂੰ ਹੱਲ ਕਰਦਾ ਹੈ। ਇਹ API ਤੋਂ ਰੈਸਟੋਰੈਂਟ ਡੇਟਾ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਕੁੰਜੀ ਹੈ।
useEffect() ਰੀਐਕਟ ਵਿੱਚ ਵਰਤਿਆ ਗਿਆ, ਇਹ ਹੁੱਕ ਕੰਪੋਨੈਂਟ ਰੈਂਡਰ ਕਰਨ ਤੋਂ ਬਾਅਦ ਏਪੀਆਈ ਕਾਲਾਂ ਵਰਗੇ ਮਾੜੇ ਪ੍ਰਭਾਵਾਂ ਨੂੰ ਲਾਗੂ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਇੱਕ ਵਾਰ ਕੰਪੋਨੈਂਟ ਮਾਊਂਟ ਹੋਣ 'ਤੇ Swiggy ਦੇ API ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਬੇਨਤੀ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
res.setHeader() ਇਹ ਐਕਸਪ੍ਰੈਸ ਕਮਾਂਡ ਕਸਟਮ HTTP ਹੈਡਰ ਸੈਟ ਕਰਦੀ ਹੈ, ਜਿਵੇਂ ਕਿ ਪਹੁੰਚ-ਨਿਯੰਤਰਣ-ਮਜ਼ਬੂਤ-ਮੂਲ, ਜੋ ਕਿ CORS ਹੈਂਡਲਿੰਗ ਵਿੱਚ ਮਹੱਤਵਪੂਰਨ ਹੈ। ਇਹ ਬੈਕਐਂਡ ਨੂੰ ਕਿਸੇ ਵੀ ਮੂਲ ਤੋਂ ਬੇਨਤੀਆਂ ਦੀ ਇਜਾਜ਼ਤ ਦੇਣ ਲਈ ਸਮਰੱਥ ਬਣਾਉਂਦਾ ਹੈ, CORS ਗਲਤੀਆਂ ਨੂੰ ਰੋਕਦਾ ਹੈ।
res.json() ਇਹ ਵਿਧੀ ਕਲਾਇੰਟ ਨੂੰ JSON ਜਵਾਬ ਵਾਪਸ ਭੇਜਣ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਹੈ। ਪ੍ਰੌਕਸੀ ਸਰਵਰ ਹੱਲ ਵਿੱਚ, ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਦਾ ਹੈ ਕਿ Swiggy ਤੋਂ ਪ੍ਰਾਪਤ ਕੀਤੇ API ਡੇਟਾ ਨੂੰ JSON ਫਾਰਮੈਟ ਵਜੋਂ ਵਾਪਸ ਕੀਤਾ ਗਿਆ ਹੈ, ਜਿਸਦਾ ਅੱਗੇ ਵਾਲਾ ਸਿਰਾ ਆਸਾਨੀ ਨਾਲ ਖਪਤ ਕਰ ਸਕਦਾ ਹੈ।
await ਇਹ ਕੀਵਰਡ ਅਸਿੰਕਰੋਨਸ ਫੰਕਸ਼ਨ ਦੇ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਨੂੰ ਉਦੋਂ ਤੱਕ ਰੋਕਦਾ ਹੈ ਜਦੋਂ ਤੱਕ ਫੈਚ ਓਪਰੇਸ਼ਨ ਹੱਲ ਨਹੀਂ ਹੋ ਜਾਂਦਾ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਕੋਡ ਅੱਗੇ ਵਧਣ ਤੋਂ ਪਹਿਲਾਂ API ਦੇ ਡੇਟਾ ਦੀ ਉਡੀਕ ਕਰਦਾ ਹੈ, ਅਣ-ਹੈਂਡਲਡ ਅਸਵੀਕਾਰੀਆਂ ਨੂੰ ਰੋਕਦਾ ਹੈ।
express() ਐਕਸਪ੍ਰੈਸ() ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਐਕਸਪ੍ਰੈਸ ਸਰਵਰ ਦੀ ਇੱਕ ਉਦਾਹਰਣ ਬਣਾਉਣ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਹ ਸਰਵਰ ਡਾਟਾ ਪ੍ਰਾਪਤ ਕਰਨ ਦੌਰਾਨ CORS ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਰੋਕਣ ਲਈ ਫਰੰਟਐਂਡ ਅਤੇ Swiggy API ਦੇ ਵਿਚਕਾਰ ਇੱਕ ਪ੍ਰੌਕਸੀ ਵਜੋਂ ਕੰਮ ਕਰਦਾ ਹੈ।
app.listen() ਇਹ ਕਮਾਂਡ ਐਕਸਪ੍ਰੈਸ ਸਰਵਰ ਨੂੰ ਇੱਕ ਖਾਸ ਪੋਰਟ (ਉਦਾਹਰਣ ਵਜੋਂ, ਇਸ ਕੇਸ ਵਿੱਚ ਪੋਰਟ 5000) 'ਤੇ ਆਉਣ ਵਾਲੀਆਂ ਬੇਨਤੀਆਂ ਨੂੰ ਸੁਣਨਾ ਸ਼ੁਰੂ ਕਰ ਦਿੰਦੀ ਹੈ। ਵਿਕਾਸ ਦੌਰਾਨ ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਪ੍ਰੌਕਸੀ ਸਰਵਰ ਦੀ ਮੇਜ਼ਬਾਨੀ ਕਰਨ ਲਈ ਇਹ ਮਹੱਤਵਪੂਰਨ ਹੈ।
try...catch ਇਹ ਬਲਾਕ ਉਹਨਾਂ ਤਰੁੱਟੀਆਂ ਨੂੰ ਸੰਭਾਲਦਾ ਹੈ ਜੋ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਬੇਨਤੀ ਦੌਰਾਨ ਹੋ ਸਕਦੀਆਂ ਹਨ, ਜਿਵੇਂ ਕਿ ਨੈੱਟਵਰਕ ਅਸਫਲਤਾਵਾਂ ਜਾਂ Swiggy API ਨਾਲ ਸਮੱਸਿਆਵਾਂ। ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਦਾ ਹੈ ਕਿ ਐਪ ਕਰੈਸ਼ ਹੋਣ ਦੀ ਬਜਾਏ ਤਰੁੱਟੀਆਂ ਨੂੰ ਸੁੰਦਰਤਾ ਨਾਲ ਸੰਭਾਲਦਾ ਹੈ।

Swiggy API ਦੇ ਨਾਲ ਪ੍ਰਤੀਕਿਰਿਆ ਵਿੱਚ CORS ਮੁੱਦਿਆਂ ਦੇ ਹੱਲਾਂ ਦੀ ਵਿਆਖਿਆ ਕਰਨਾ

ਪਹਿਲੇ ਹੱਲ ਵਿੱਚ, ਅਸੀਂ ਇੱਕ ਬਣਾਇਆ ਹੈ Node.js Swiggy's API ਤੋਂ ਰੈਸਟੋਰੈਂਟ ਡੇਟਾ ਪ੍ਰਾਪਤ ਕਰਨ ਵੇਲੇ CORS ਮੁੱਦੇ ਨੂੰ ਬਾਈਪਾਸ ਕਰਨ ਲਈ ਐਕਸਪ੍ਰੈਸ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਬੈਕਐਂਡ। CORS ਨੀਤੀ ਬ੍ਰਾਊਜ਼ਰਾਂ ਨੂੰ ਕਿਸੇ ਵੱਖਰੇ ਡੋਮੇਨ ਲਈ ਬੇਨਤੀਆਂ ਕਰਨ ਤੋਂ ਰੋਕਦੀ ਹੈ ਜਦੋਂ ਤੱਕ ਉਹ ਡੋਮੇਨ ਇਸਦੀ ਇਜਾਜ਼ਤ ਨਹੀਂ ਦਿੰਦਾ। ਇੱਕ ਸਧਾਰਨ ਸਰਵਰ ਬਣਾ ਕੇ, ਅਸੀਂ ਕਲਾਇੰਟ ਅਤੇ API ਦੇ ਵਿਚਕਾਰ ਇੱਕ ਮੱਧ ਪਰਤ ਵਜੋਂ ਕੰਮ ਕਰ ਸਕਦੇ ਹਾਂ, ਡੇਟਾ ਸਰਵਰ-ਸਾਈਡ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹਾਂ ਅਤੇ ਇਸਨੂੰ ਰਿਐਕਟ ਫਰੰਟ-ਐਂਡ 'ਤੇ ਵਾਪਸ ਕਰ ਸਕਦੇ ਹਾਂ। ਇਹ ਵਿਧੀ CORS ਗਲਤੀਆਂ ਤੋਂ ਬਚਦੀ ਹੈ ਕਿਉਂਕਿ ਬੇਨਤੀ ਉਸੇ ਮੂਲ ਤੋਂ ਆਉਂਦੀ ਹੈ ਜਿਵੇਂ ਕਿ ਕਲਾਇੰਟ ਐਪ।

ਐਕਸਪ੍ਰੈਸ ਬੈਕਐਂਡ ਕਸਟਮ ਸਿਰਲੇਖਾਂ ਨੂੰ ਸੈਟ ਅਪ ਕਰਦਾ ਹੈ, ਖਾਸ ਕਰਕੇ ਪਹੁੰਚ-ਨਿਯੰਤਰਣ-ਮਨਜ਼ੂਰ-ਮੂਲ, ਜੋ ਸਾਡੇ ਕਲਾਇੰਟ ਨੂੰ CORS ਪਾਬੰਦੀਆਂ ਦਾ ਸਾਹਮਣਾ ਕੀਤੇ ਬਿਨਾਂ ਸਰੋਤਾਂ ਦੀ ਬੇਨਤੀ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ। Swiggy ਦੇ API ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਕਾਲ ਸਰਵਰ-ਸਾਈਡ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਅਤੇ ਡੇਟਾ JSON ਫਾਰਮੈਟ ਵਿੱਚ ਵਾਪਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਇਸ ਪਹੁੰਚ ਨੂੰ ਅਕਸਰ ਉਤਪਾਦਨ ਵਾਤਾਵਰਣਾਂ ਵਿੱਚ ਵਧੇਰੇ ਸੁਰੱਖਿਅਤ ਅਤੇ ਪ੍ਰਦਰਸ਼ਨਕਾਰੀ ਮੰਨਿਆ ਜਾਂਦਾ ਹੈ ਕਿਉਂਕਿ ਇਹ API ਕੁੰਜੀਆਂ ਜਾਂ ਸੰਵੇਦਨਸ਼ੀਲ ਜਾਣਕਾਰੀ ਨੂੰ ਲੁਕਾਉਂਦਾ ਹੈ। ਇਸ ਤੋਂ ਇਲਾਵਾ, ਟਰਾਈ-ਕੈਚ ਦੀ ਵਰਤੋਂ ਸਹੀ ਤਰੁੱਟੀ ਪ੍ਰਬੰਧਨ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦੀ ਹੈ, ਜੇਕਰ API ਜਵਾਬ ਦੇਣ ਵਿੱਚ ਅਸਫਲ ਰਹਿੰਦੀ ਹੈ ਤਾਂ ਉਪਭੋਗਤਾ-ਅਨੁਕੂਲ ਗਲਤੀ ਸੁਨੇਹੇ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਦੇ ਹਨ।

ਦੂਜੇ ਹੱਲ ਵਿੱਚ, ਅਸੀਂ ਕਲਾਇੰਟ-ਸਾਈਡ ਰੀਐਕਟ ਕੋਡ 'ਤੇ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਬੇਨਤੀ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕਰਦੇ ਹਾਂ। ਇਸ ਵਿਧੀ ਵਿੱਚ ਫੈਚ ਕਾਲ ਵਿੱਚ ਕਸਟਮ ਸਿਰਲੇਖ ਸ਼ਾਮਲ ਕਰਨਾ ਸ਼ਾਮਲ ਹੈ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਣਾ ਕਿ ਬੇਨਤੀ API ਤੱਕ ਪਹੁੰਚਣ ਤੋਂ ਪਹਿਲਾਂ ਸਹੀ ਢੰਗ ਨਾਲ ਫਾਰਮੈਟ ਕੀਤੀ ਗਈ ਹੈ। ਅਸੀਂ ਰੀਐਕਟ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਾਂ ਪ੍ਰਭਾਵ ਦੀ ਵਰਤੋਂ ਕਰੋ ਜਦੋਂ ਕੰਪੋਨੈਂਟ ਮਾਊਂਟ ਹੁੰਦਾ ਹੈ ਤਾਂ API ਕਾਲ ਨੂੰ ਟਰਿੱਗਰ ਕਰਨ ਲਈ ਹੁੱਕ। async ਫੰਕਸ਼ਨ API ਜਵਾਬ ਦੀ ਉਡੀਕ ਕਰਦਾ ਹੈ, ਇਸਨੂੰ JSON ਵਿੱਚ ਬਦਲਦਾ ਹੈ, ਅਤੇ ਜੇਕਰ ਬੇਨਤੀ ਅਸਫਲ ਹੋ ਜਾਂਦੀ ਹੈ ਤਾਂ ਗਲਤੀਆਂ ਨੂੰ ਸੰਭਾਲਦਾ ਹੈ। ਹਾਲਾਂਕਿ, ਇਹ ਹੱਲ ਅਜੇ ਵੀ CORS ਮੁੱਦਿਆਂ ਦਾ ਸਾਹਮਣਾ ਕਰਦਾ ਹੈ ਜੇਕਰ API ਸਿੱਧੇ ਬ੍ਰਾਊਜ਼ਰਾਂ ਤੋਂ ਕਰਾਸ-ਮੂਲ ਬੇਨਤੀਆਂ ਦੀ ਇਜਾਜ਼ਤ ਨਹੀਂ ਦਿੰਦਾ ਹੈ।

ਅੰਤ ਵਿੱਚ, ਤੀਜੇ ਹੱਲ ਵਿੱਚ, ਅਸੀਂ ਇੱਕ ਤੀਜੀ-ਧਿਰ ਸੇਵਾ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਾਂ ਜਿਸ ਨੂੰ CORS-Anywhere ਕਹਿੰਦੇ ਹਨ। ਇਹ ਇੱਕ ਮਿਡਲਵੇਅਰ ਸੇਵਾ ਹੈ ਜੋ ਉਹਨਾਂ ਦੇ ਸਰਵਰ ਦੁਆਰਾ API ਬੇਨਤੀ ਨੂੰ ਰੀਰੂਟ ਕਰਕੇ ਅਸਥਾਈ ਤੌਰ 'ਤੇ CORS ਪਾਬੰਦੀਆਂ ਨੂੰ ਬਾਈਪਾਸ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦੀ ਹੈ। ਹਾਲਾਂਕਿ ਇਹ ਹੱਲ ਵਿਕਾਸ ਦੇ ਵਾਤਾਵਰਣ ਵਿੱਚ ਕੰਮ ਕਰ ਸਕਦਾ ਹੈ, ਸੁਰੱਖਿਆ ਜੋਖਮਾਂ ਅਤੇ ਬਾਹਰੀ ਸੇਵਾਵਾਂ 'ਤੇ ਨਿਰਭਰਤਾ ਦੇ ਕਾਰਨ ਉਤਪਾਦਨ ਲਈ ਇਸਦੀ ਸਿਫ਼ਾਰਸ਼ ਨਹੀਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਹ ਪ੍ਰਦਰਸ਼ਨ ਓਵਰਹੈੱਡ ਨੂੰ ਵੀ ਪੇਸ਼ ਕਰਦਾ ਹੈ ਕਿਉਂਕਿ ਇਹ ਡੇਟਾ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ ਇੱਕ ਵਾਧੂ ਪਰਤ ਜੋੜਦਾ ਹੈ। ਟੈਸਟਿੰਗ ਪੜਾਵਾਂ ਦੌਰਾਨ ਇਸ ਵਿਧੀ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਸੁਵਿਧਾਜਨਕ ਹੋ ਸਕਦਾ ਹੈ ਪਰ ਸੁਰੱਖਿਆ ਕਾਰਨਾਂ ਕਰਕੇ ਉਤਪਾਦਨ ਵਿੱਚ ਇਸ ਤੋਂ ਬਚਣਾ ਚਾਹੀਦਾ ਹੈ।

ਹੱਲ 1: ਪ੍ਰੌਕਸੀ ਸਰਵਰ ਨਾਲ CORS ਮੁੱਦਿਆਂ ਨੂੰ ਸੰਭਾਲਣਾ

ਇਹ ਹੱਲ ਇੱਕ Node.js ਬੈਕਐਂਡ ਪ੍ਰੌਕਸੀ ਸਰਵਰ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ ਤਾਂ ਜੋ CORS ਗਲਤੀਆਂ ਤੋਂ ਬਚਿਆ ਜਾ ਸਕੇ ਅਤੇ Swiggy API ਤੋਂ ਸਹੀ ਢੰਗ ਨਾਲ ਡਾਟਾ ਪ੍ਰਾਪਤ ਕੀਤਾ ਜਾ ਸਕੇ।

const express = require('express');
const fetch = require('node-fetch');
const app = express();
const port = 5000;

app.use((req, res, next) => {
  res.setHeader('Access-Control-Allow-Origin', '*');
  res.setHeader('Access-Control-Allow-Methods', 'GET');
  next();
});

app.get('/restaurants', async (req, res) => {
  try {
    const response = await fetch('https://www.swiggy.com/dapi/restaurants/list/v5?lat=23.1685786&lng=79.9338798');
    const data = await response.json();
    res.json(data);
  } catch (err) {
    res.status(500).json({ error: 'Failed to fetch restaurants' });
  }
});

app.listen(port, () => {
  console.log(`Server running on http://localhost:${port}`);
});

ਹੱਲ 2: ਕਸਟਮ ਸਿਰਲੇਖਾਂ ਅਤੇ ਗਲਤੀ ਹੈਂਡਲਿੰਗ ਦੇ ਨਾਲ ਫਰੰਟ-ਐਂਡ ਪ੍ਰਾਪਤੀ ਦੀ ਵਰਤੋਂ ਕਰਨਾ

ਇਹ ਪਹੁੰਚ ਪ੍ਰਤੀਕਿਰਿਆ ਵਿੱਚ ਸਿੱਧੇ ਤੌਰ 'ਤੇ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਬੇਨਤੀ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕਰਦੀ ਹੈ, ਕਸਟਮ ਸਿਰਲੇਖਾਂ ਨੂੰ ਜੋੜਦੀ ਹੈ ਅਤੇ ਗਲਤੀਆਂ ਨੂੰ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਸੰਭਾਲਦੀ ਹੈ।

import React, { useEffect } from 'react';

const Body = () => {
  async function getRestaurants() {
    try {
      const response = await fetch(
        'https://www.swiggy.com/dapi/restaurants/list/v5?lat=23.1685786&lng=79.9338798',
        { headers: { 'Content-Type': 'application/json' } }
      );

      if (!response.ok) {
        throw new Error('Network response was not ok');
      }

      const data = await response.json();
      console.log(data);
    } catch (error) {
      console.error('Fetch error:', error);
    }
  }

  useEffect(() => {
    getRestaurants();
  }, []);
};

export default Body;

ਹੱਲ 3: ਵਿਕਾਸ ਲਈ CORS-ਕਿਸੇ ਵੀ ਮਿਡਲਵੇਅਰ ਦੀ ਵਰਤੋਂ ਕਰਨਾ

ਇਹ ਵਿਧੀ ਵਿਕਾਸ ਮੋਡ ਵਿੱਚ ਹੋਣ ਦੌਰਾਨ CORS ਪਾਬੰਦੀਆਂ ਨੂੰ ਬਾਈਪਾਸ ਕਰਨ ਲਈ "CORS-Anywhere" ਸੇਵਾ ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ। ਇਹ ਹੱਲ ਉਤਪਾਦਨ ਵਿੱਚ ਨਹੀਂ ਵਰਤਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ.

const Body = () => {
  async function getRestaurants() {
    try {
      const response = await fetch(
        'https://cors-anywhere.herokuapp.com/https://www.swiggy.com/dapi/restaurants/list/v5?lat=23.1685786&lng=79.9338798'
      );

      const data = await response.json();
      console.log(data);
    } catch (error) {
      console.error('Error fetching restaurants:', error);
    }
  }

  useEffect(() => {
    getRestaurants();
  }, []);
};

export default Body;

API ਬੇਨਤੀਆਂ ਵਿੱਚ CORS ਸਮੱਸਿਆਵਾਂ ਦਾ ਨਿਪਟਾਰਾ ਕਰਨਾ

ਇੱਕ ਰੀਐਕਟ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ "ਫੇਚ ਕਰਨ ਵਿੱਚ ਅਸਫਲ" ਗਲਤੀ ਦੇ ਮੂਲ ਕਾਰਨਾਂ ਵਿੱਚੋਂ ਇੱਕ, ਖਾਸ ਕਰਕੇ ਜਦੋਂ Swiggy ਵਰਗੇ ਤੀਜੀ-ਧਿਰ APIs ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ, ਇਹ ਹੈ CORS (ਕਰਾਸ-ਓਰੀਜਨ ਰਿਸੋਰਸ ਸ਼ੇਅਰਿੰਗ) ਪਾਬੰਦੀਆਂ। CORS ਇੱਕ ਸੁਰੱਖਿਆ ਵਿਸ਼ੇਸ਼ਤਾ ਹੈ ਜੋ ਵੈੱਬ ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੂੰ ਉਸ ਤੋਂ ਵੱਖਰੇ ਡੋਮੇਨ ਲਈ ਬੇਨਤੀਆਂ ਕਰਨ ਤੋਂ ਰੋਕਦੀ ਹੈ ਜਿਸ ਤੋਂ ਉਹਨਾਂ ਨੂੰ ਸੇਵਾ ਦਿੱਤੀ ਗਈ ਸੀ। ਇਸ ਸਥਿਤੀ ਵਿੱਚ, Swiggy API ਬੇਨਤੀ ਨੂੰ ਅਸਵੀਕਾਰ ਕਰਦਾ ਹੈ ਕਿਉਂਕਿ ਇਹ ਇੱਕ ਵੱਖਰੇ ਡੋਮੇਨ (ਤੁਹਾਡੀ ਪ੍ਰਤੀਕਿਰਿਆ ਐਪ) ਤੋਂ ਉਤਪੰਨ ਹੁੰਦਾ ਹੈ। ਇਹ ਵਿਸ਼ੇਸ਼ ਤੌਰ 'ਤੇ ਸਮੱਸਿਆ ਵਾਲਾ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਤੁਸੀਂ APIs ਤੋਂ ਡੇਟਾ ਪ੍ਰਾਪਤ ਕਰ ਰਹੇ ਹੋ ਜੋ ਸਪੱਸ਼ਟ ਤੌਰ 'ਤੇ ਕ੍ਰਾਸ-ਓਰੀਜਨ ਬੇਨਤੀਆਂ ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦੇ ਹਨ।

ਇੱਕ ਆਮ ਹੱਲ ਬ੍ਰਾਊਜ਼ਰ ਐਕਸਟੈਂਸ਼ਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਹੈ ਜਿਵੇਂ "CORS ਨੂੰ ਇਜਾਜ਼ਤ ਦਿਓ" Chrome ਐਕਸਟੈਂਸ਼ਨ। ਹਾਲਾਂਕਿ, ਅਜਿਹੀਆਂ ਐਕਸਟੈਂਸ਼ਨਾਂ ਅਸੰਗਤ ਨਤੀਜੇ ਲੈ ਸਕਦੀਆਂ ਹਨ। ਇਹ ਇਸ ਲਈ ਹੈ ਕਿਉਂਕਿ ਉਹ ਬ੍ਰਾਊਜ਼ਰ-ਪੱਧਰ ਦੀਆਂ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਹੇਰਾਫੇਰੀ ਕਰਦੇ ਹਨ ਜੋ ਹਮੇਸ਼ਾ API ਬੇਨਤੀਆਂ ਨਾਲ ਸਹੀ ਢੰਗ ਨਾਲ ਸਮਕਾਲੀ ਨਹੀਂ ਹੁੰਦੀਆਂ ਹਨ। ਇਹ ਪਲੱਗਇਨ ਆਦਰਸ਼ਕ ਤੌਰ 'ਤੇ ਸਿਰਫ ਵਿਕਾਸ ਲਈ ਵਰਤੇ ਜਾਣੇ ਚਾਹੀਦੇ ਹਨ ਨਾ ਕਿ ਉਤਪਾਦਨ ਦੇ ਵਾਤਾਵਰਣ ਵਿੱਚ। ਉਤਪਾਦਨ ਲਈ, ਇੱਕ ਸੁਰੱਖਿਅਤ ਅਤੇ ਵਧੇਰੇ ਭਰੋਸੇਮੰਦ ਪਹੁੰਚ ਇੱਕ ਬੈਕਐਂਡ ਪ੍ਰੌਕਸੀ ਸਰਵਰ ਦੀ ਵਰਤੋਂ ਕਰੇਗੀ ਜੋ ਤੁਹਾਡੀ React ਐਪ ਦੀ ਤਰਫੋਂ ਡੇਟਾ ਦੀ ਬੇਨਤੀ ਕਰਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ ਪਹਿਲਾਂ ਪ੍ਰਦਾਨ ਕੀਤੇ ਗਏ ਹੱਲਾਂ ਵਿੱਚ ਦੇਖਿਆ ਗਿਆ ਹੈ।

ਵਿਚਾਰ ਕਰਨ ਲਈ ਇਕ ਹੋਰ ਪਹਿਲੂ ਹੈ ਗਲਤੀਆਂ ਨੂੰ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਸੰਭਾਲਣਾ। ਜਦੋਂ ਕਿ CORS ਮੁੱਦੇ "ਫਲੈਚ ਕਰਨ ਵਿੱਚ ਅਸਫਲ" ਤਰੁੱਟੀਆਂ ਦਾ ਇੱਕ ਆਮ ਕਾਰਨ ਹਨ, ਦੂਜੇ ਕਾਰਕ ਜਿਵੇਂ ਕਿ ਨੈੱਟਵਰਕ ਅਸਥਿਰਤਾ, ਗਲਤ API URL, ਜਾਂ ਸਰਵਰ ਡਾਊਨਟਾਈਮ ਵੀ ਇਸ ਤਰੁੱਟੀ ਦਾ ਨਤੀਜਾ ਹੋ ਸਕਦਾ ਹੈ। ਇਸ ਲਈ, ਇਸ ਨੂੰ ਲਾਗੂ ਕਰਨਾ ਮਹੱਤਵਪੂਰਨ ਹੈ ਮਜ਼ਬੂਤ ​​​​ਗਲਤੀ ਪ੍ਰਬੰਧਨ ਤੁਹਾਡੇ ਕੋਡ ਵਿੱਚ, ਖਾਸ ਤੌਰ 'ਤੇ ਤੀਜੀ-ਧਿਰ APIs ਨਾਲ ਕੰਮ ਕਰਦੇ ਸਮੇਂ। ਇੱਕ ਸਹੀ ਤਰੁੱਟੀ-ਪ੍ਰਬੰਧਨ ਵਿਧੀ ਇਸ ਮੁੱਦੇ ਨੂੰ ਵਧੇਰੇ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਡੀਬੱਗ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰੇਗੀ ਅਤੇ ਕੁਝ ਗਲਤ ਹੋਣ 'ਤੇ ਉਪਭੋਗਤਾ-ਅਨੁਕੂਲ ਸੰਦੇਸ਼ ਪ੍ਰਦਾਨ ਕਰੇਗੀ।

ਪ੍ਰਤੀਕਿਰਿਆ ਵਿੱਚ CORS ਅਤੇ API ਬੇਨਤੀਆਂ ਬਾਰੇ ਆਮ ਸਵਾਲ

  1. CORS ਕੀ ਹੈ ਅਤੇ ਇਹ ਮਹੱਤਵਪੂਰਨ ਕਿਉਂ ਹੈ?
  2. CORS (ਕਰਾਸ-ਓਰੀਜਨ ਰਿਸੋਰਸ ਸ਼ੇਅਰਿੰਗ) ਇੱਕ ਸੁਰੱਖਿਆ ਨੀਤੀ ਹੈ ਜੋ ਬ੍ਰਾਊਜ਼ਰਾਂ ਦੁਆਰਾ ਗੈਰ-ਭਰੋਸੇਯੋਗ ਡੋਮੇਨਾਂ ਤੋਂ ਖਤਰਨਾਕ ਬੇਨਤੀਆਂ ਨੂੰ ਰੋਕਣ ਲਈ ਲਾਗੂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਸਿਰਫ਼ ਕੁਝ ਡੋਮੇਨਾਂ ਨੂੰ ਸਰਵਰ ਤੋਂ ਸਰੋਤ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਹੈ।
  3. ਮੈਨੂੰ "ਅਨਹੈਂਡਲਡ ਅਸਵੀਕਾਰ (TypeError): ਪ੍ਰਾਪਤ ਕਰਨ ਵਿੱਚ ਅਸਫਲ" ਕਿਉਂ ਹੋ ਰਿਹਾ ਹੈ?
  4. ਇਹ ਗਲਤੀ ਆਮ ਤੌਰ 'ਤੇ ਉਦੋਂ ਵਾਪਰਦੀ ਹੈ ਜਦੋਂ ਤੁਹਾਡੀ API ਬੇਨਤੀ CORS ਪਾਬੰਦੀਆਂ ਦੇ ਕਾਰਨ ਬਲੌਕ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਹ ਗਲਤ API URL ਜਾਂ ਸਰਵਰ ਨਾਲ ਸਮੱਸਿਆਵਾਂ ਕਾਰਨ ਵੀ ਹੋ ਸਕਦਾ ਹੈ।
  5. ਕੀ ਕਰਦਾ ਹੈ useEffect ਹੁੱਕ ਇਸ ਸੰਦਰਭ ਵਿੱਚ ਕਰਦੇ ਹਨ?
  6. useEffect ਕੰਪੋਨੈਂਟ ਮਾਊਂਟ ਹੋਣ ਤੋਂ ਬਾਅਦ ਇੱਕ API ਬੇਨਤੀ ਨੂੰ ਟਰਿੱਗਰ ਕਰਨ ਲਈ ਰੀਐਕਟ ਵਿੱਚ ਹੁੱਕ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਪ੍ਰਾਪਤੀ ਕਾਰਵਾਈ ਸਹੀ ਸਮੇਂ 'ਤੇ ਹੁੰਦੀ ਹੈ, ਕਈ ਬੇਲੋੜੀਆਂ ਬੇਨਤੀਆਂ ਨੂੰ ਰੋਕਦਾ ਹੈ।
  7. ਮੈਂ ਇੱਕ ਪ੍ਰਤੀਕਿਰਿਆ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ CORS ਗਲਤੀਆਂ ਨੂੰ ਕਿਵੇਂ ਠੀਕ ਕਰ ਸਕਦਾ ਹਾਂ?
  8. CORS ਗਲਤੀਆਂ ਨੂੰ ਠੀਕ ਕਰਨ ਲਈ, ਤੁਸੀਂ ਬੈਕਐਂਡ ਪ੍ਰੌਕਸੀ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ, ਇਸਦੇ ਨਾਲ ਸਹੀ ਸਿਰਲੇਖ ਸੈਟ ਕਰ ਸਕਦੇ ਹੋ res.setHeader ਸਰਵਰ ਵਿੱਚ, ਜਾਂ ਵਿਕਾਸ ਦੇ ਉਦੇਸ਼ਾਂ ਲਈ CORS-Anywhere ਵਰਗੀਆਂ ਸੇਵਾਵਾਂ 'ਤੇ ਭਰੋਸਾ ਕਰੋ।
  9. ਕੀ ਮੈਂ ਉਤਪਾਦਨ ਵਿੱਚ CORS ਬ੍ਰਾਊਜ਼ਰ ਐਕਸਟੈਂਸ਼ਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦਾ ਹਾਂ?
  10. ਨਹੀਂ, CORS ਬ੍ਰਾਊਜ਼ਰ ਐਕਸਟੈਂਸ਼ਨਾਂ ਨੂੰ ਸਿਰਫ਼ ਵਿਕਾਸ ਲਈ ਵਰਤਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਉਤਪਾਦਨ ਵਿੱਚ, ਸਰਵਰ 'ਤੇ CORS ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨਾ ਜਾਂ ਪ੍ਰੌਕਸੀ ਸਰਵਰ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਵਧੇਰੇ ਸੁਰੱਖਿਅਤ ਹੈ।

ਪ੍ਰਤੀਕ੍ਰਿਆ ਵਿੱਚ CORS ਗਲਤੀਆਂ ਦੇ ਪ੍ਰਬੰਧਨ 'ਤੇ ਅੰਤਮ ਵਿਚਾਰ

ਰਿਐਕਟ ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੂੰ ਵਿਕਸਤ ਕਰਨ ਵੇਲੇ CORS ਤਰੁਟੀਆਂ ਇੱਕ ਆਮ ਚੁਣੌਤੀ ਹਨ ਜੋ ਤੀਜੀ-ਧਿਰ APIs ਦੀ ਵਰਤੋਂ ਕਰਦੀਆਂ ਹਨ। ਹਾਲਾਂਕਿ ਬ੍ਰਾਊਜ਼ਰ ਐਕਸਟੈਂਸ਼ਨਾਂ ਵਿਕਾਸ ਵਿੱਚ ਮਦਦ ਕਰ ਸਕਦੀਆਂ ਹਨ, ਸੁਰੱਖਿਆ ਅਤੇ ਡਾਟਾ ਅਖੰਡਤਾ ਨੂੰ ਬਣਾਈ ਰੱਖਣ ਲਈ ਉਤਪਾਦਨ ਵਾਤਾਵਰਣ ਵਿੱਚ ਇੱਕ ਪ੍ਰੌਕਸੀ ਸਰਵਰ ਵਰਗੇ ਵਧੇਰੇ ਭਰੋਸੇਯੋਗ ਹੱਲਾਂ ਨੂੰ ਲਾਗੂ ਕਰਨਾ ਮਹੱਤਵਪੂਰਨ ਹੈ।

ਸਹੀ ਤਕਨੀਕਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ, ਜਿਵੇਂ ਕਿ ਅਸ਼ੁੱਧੀ ਹੈਂਡਲਿੰਗ ਅਤੇ ਬੈਕਐਂਡ ਹੱਲ, ਡਿਵੈਲਪਰ ਕੁਸ਼ਲਤਾ ਨਾਲ "ਲੈਣ ਵਿੱਚ ਅਸਫਲ" ਵਰਗੇ ਮੁੱਦਿਆਂ ਨੂੰ ਸੰਭਾਲ ਸਕਦੇ ਹਨ। ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਦਾ ਹੈ ਕਿ ਉਹਨਾਂ ਦੀ ਐਪਲੀਕੇਸ਼ਨ APIs ਨਾਲ ਇੰਟਰੈਕਟ ਕਰਦੇ ਸਮੇਂ, ਪ੍ਰਦਰਸ਼ਨ ਅਤੇ ਕਾਰਜਕੁਸ਼ਲਤਾ ਨੂੰ ਵਧਾਉਣ ਲਈ ਇੱਕ ਨਿਰਵਿਘਨ ਉਪਭੋਗਤਾ ਅਨੁਭਵ ਪ੍ਰਦਾਨ ਕਰਦੀ ਹੈ।

ਪ੍ਰਤੀਕਿਰਿਆ ਵਿੱਚ CORS ਮੁੱਦਿਆਂ ਨੂੰ ਸਮਝਣ ਲਈ ਹਵਾਲੇ ਅਤੇ ਸਰੋਤ ਸਮੱਗਰੀ
  1. ਕਰਾਸ-ਓਰਿਜਨ ਰਿਸੋਰਸ ਸ਼ੇਅਰਿੰਗ (CORS) ਅਤੇ ਇਸ ਨੂੰ ਪ੍ਰਤੀਕਿਰਿਆ ਵਿੱਚ ਕਿਵੇਂ ਪ੍ਰਬੰਧਿਤ ਕਰਨਾ ਹੈ ਬਾਰੇ ਵਿਸਤ੍ਰਿਤ ਜਾਣਕਾਰੀ ਲਈ, ਵੇਖੋ CORS 'ਤੇ MDN ਵੈੱਬ ਡੌਕਸ .
  2. "ਪ੍ਰਾਪਤ ਕਰਨ ਵਿੱਚ ਅਸਫਲ" ਅਤੇ ਸੰਭਾਵੀ ਹੱਲਾਂ ਵਰਗੀਆਂ ਆਮ ਪ੍ਰਤੀਕਿਰਿਆ ਦੀਆਂ ਗਲਤੀਆਂ ਬਾਰੇ ਹੋਰ ਸਮਝਣ ਲਈ, ਜਾਂਚ ਕਰੋ ਗਲਤੀ ਸੀਮਾਵਾਂ 'ਤੇ ਪ੍ਰਤੀਕਿਰਿਆ ਦਸਤਾਵੇਜ਼ .
  3. ਜੇਕਰ ਤੁਸੀਂ CORS ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਬਾਈਪਾਸ ਕਰਨ ਲਈ ਇੱਕ ਪ੍ਰੌਕਸੀ ਸਰਵਰ ਸਥਾਪਤ ਕਰਨ ਲਈ ਐਕਸਪ੍ਰੈਸ ਨਾਲ ਕੰਮ ਕਰ ਰਹੇ ਹੋ, ਤਾਂ ਇੱਥੇ ਜਾਓ Express.js ਰੂਟਿੰਗ ਅਤੇ ਮਿਡਲਵੇਅਰ .
  4. JavaScript ਵਿੱਚ Fetch API ਨਾਲ ਕਿਵੇਂ ਕੰਮ ਕਰਨਾ ਹੈ ਇਸ ਬਾਰੇ ਮਦਦ ਲਈ, ਵੇਖੋ Fetch API 'ਤੇ MDN ਵੈੱਬ ਡੌਕਸ .
  5. ਅਧਿਕਾਰਤ API ਦਸਤਾਵੇਜ਼ਾਂ ਵਿੱਚ ਰੈਸਟੋਰੈਂਟ ਡੇਟਾ ਲਈ Swiggy's API ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੇ ਤਰੀਕੇ ਦੀ ਪੜਚੋਲ ਕਰੋ: Swiggy API .