ਫੈਚ ਨਾਲ API ਪੋਸਟ ਬੇਨਤੀ ਕਿਵੇਂ ਭੇਜਣੀ ਹੈ ਨੂੰ ਸਮਝਣਾ
ਭੇਜਣਾ ਏ POST ਬੇਨਤੀ APIs ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਸਮੇਂ ਡੇਟਾ ਸ਼ੇਅਰਿੰਗ ਅਤੇ ਪ੍ਰਮਾਣਿਕਤਾ ਲਈ ਜ਼ਰੂਰੀ ਹੈ। ਇਹ HTTP ਬੇਨਤੀਆਂ ਭੇਜਣ ਦਾ ਇੱਕ ਭਰੋਸੇਮੰਦ ਤਰੀਕਾ ਹੈ ਜੇਕਰ ਤੁਸੀਂ ਜਾਣਦੇ ਹੋ ਕਿ JavaScript ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰਨੀ ਹੈ ਅਤੇ ਪ੍ਰਾਪਤ ਕਰੋ() ਤਕਨੀਕ. ਪਰ ਬੇਨਤੀ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਬਣਾਉਣਾ ਕਦੇ-ਕਦਾਈਂ ਅਸਪਸ਼ਟ ਹੋ ਸਕਦਾ ਹੈ, ਖਾਸ ਕਰਕੇ ਜਦੋਂ ਸਿਰਲੇਖਾਂ ਨਾਲ ਕੰਮ ਕਰਨਾ ਜਿਵੇਂ ਕਿ ਅਧਿਕਾਰ.
ਇਸ ਕੇਸ ਵਿੱਚ ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ ਏ POST ਬੇਨਤੀ ਇੱਕ API ਅੰਤਮ ਬਿੰਦੂ ਤੱਕ. ਉਪਰੋਕਤ ਅੰਤਮ ਬਿੰਦੂ ਲਈ ਇੱਕ ਖਾਸ ਢਾਂਚੇ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਜਿਸ ਵਿੱਚ ਹੈਸ਼ ਕੀਤੇ ਪ੍ਰਮਾਣ ਪੱਤਰ ਅਤੇ ਇੱਕ API ਕੁੰਜੀ. ਫਿਰ ਵੀ, ਤੁਹਾਡੇ ਦੁਆਰਾ ਅਨੁਭਵ ਕੀਤੇ ਜਾ ਰਹੇ ਸਮਾਨ ਦੀਆਂ ਗਲਤੀਆਂ ਅਕਸਰ ਸਾਹਮਣੇ ਆਉਂਦੀਆਂ ਹਨ, ਖਾਸ ਤੌਰ 'ਤੇ ਜਦੋਂ ਬਾਹਰੀ API ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਜਿਨ੍ਹਾਂ ਦੀ ਫਾਰਮੈਟਿੰਗ ਲੋੜਾਂ ਹਨ।
ਇਹ ਲੇਖ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰੇਗਾ ਕਿ ਕਿਵੇਂ ਏ POST ਬੇਨਤੀ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਪ੍ਰਾਪਤ ਕਰੋ() ਸਹੀ ਢੰਗ ਨਾਲ. ਅਸੀਂ ਸੰਭਵ ਸਮੱਸਿਆਵਾਂ ਦਾ ਪਤਾ ਲਗਾਵਾਂਗੇ ਅਤੇ '500 ਅੰਦਰੂਨੀ ਸਰਵਰ ਗਲਤੀ' ਵਰਗੀਆਂ ਆਮ ਗਲਤੀਆਂ ਨੂੰ ਰੋਕਣ ਲਈ ਸਹੀ ਸਿਰਲੇਖ ਫਾਰਮੈਟ ਦਾ ਪ੍ਰਦਰਸ਼ਨ ਕਰਾਂਗੇ ਜੋ ਤੁਸੀਂ ਅਨੁਭਵ ਕੀਤੀਆਂ ਹਨ।
ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ ਪੂਰਾ ਕਰ ਲੈਂਦੇ ਹੋ, ਤੁਹਾਨੂੰ ਬਿਲਕੁਲ ਪਤਾ ਲੱਗ ਜਾਵੇਗਾ ਕਿ ਕਿਵੇਂ ਇਕੱਠਾ ਕਰਨਾ ਹੈ ਅਤੇ ਇੱਕ JavaScript ਜਮ੍ਹਾਂ ਕਰਨਾ ਹੈ POST ਬੇਨਤੀ ਪ੍ਰਾਪਤ ਕਰੋ, ਜੋ ਗਾਰੰਟੀ ਦੇਵੇਗਾ ਕਿ API ਨੂੰ ਸਫਲਤਾਪੂਰਵਕ ਸੰਪਰਕ ਕੀਤਾ ਗਿਆ ਹੈ ਅਤੇ ਲੋੜੀਂਦਾ ਡੇਟਾ ਵਾਪਸ ਕਰ ਦਿੱਤਾ ਗਿਆ ਹੈ।
ਹੁਕਮ | ਵਰਤੋਂ ਦੀ ਉਦਾਹਰਨ |
---|---|
fetch() | ਇੱਕ ਸਰਵਰ ਨੂੰ get() ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਕੇ HTTP ਬੇਨਤੀਆਂ ਰਾਹੀਂ ਸੰਪਰਕ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਇਹ ਇਸ ਮੌਕੇ ਵਿੱਚ API ਅੰਤਮ ਬਿੰਦੂ ਨੂੰ ਇੱਕ POST ਬੇਨਤੀ ਜਮ੍ਹਾਂ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। |
Authorization | ਜਦੋਂ ਇੱਕ API ਕਾਲ ਸਪੁਰਦ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਤਾਂ ਬੇਅਰਰ ਟੋਕਨ — ਜਿਸ ਵਿੱਚ ਹੈਸ਼ ਕੀਤੇ ਪ੍ਰਮਾਣ ਪੱਤਰ ਅਤੇ API ਕੁੰਜੀ ਸ਼ਾਮਲ ਹੁੰਦੀ ਹੈ — ਪ੍ਰਮਾਣੀਕਰਨ ਦੀ ਸਹੂਲਤ ਲਈ ਅਧਿਕਾਰ ਸਿਰਲੇਖ ਰਾਹੀਂ ਪਾਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। |
async/await | ਕੋਡ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਜੋ ਅਸਿੰਕਰੋਨਸ ਹੈ ਅਤੇ ਵਧੇਰੇ ਸਮਝਣ ਯੋਗ ਤਰੀਕੇ ਨਾਲ। ਇੱਕ ਵਾਅਦਾ ਅਸਿੰਕ ਫੰਕਸ਼ਨਾਂ ਦੁਆਰਾ ਵਾਪਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਉਦੋਂ ਤੱਕ ਰੋਕਿਆ ਜਾਂਦਾ ਹੈ ਜਦੋਂ ਤੱਕ ਵਾਅਦਾ ਪੂਰਾ ਨਹੀਂ ਹੁੰਦਾ। |
response.ok | ਇਹ ਪੈਰਾਮੀਟਰ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਕਿ ਕੀ HTTP ਬੇਨਤੀ (ਸਟੇਟਸ ਕੋਡ 200–299) ਸਫਲ ਸੀ। ਅਸਫਲਤਾ ਦੇ ਮੌਕਿਆਂ ਦਾ ਸਹੀ ਢੰਗ ਨਾਲ ਪ੍ਰਬੰਧਨ ਕਰਨ ਲਈ, ਜੇਕਰ ਜਵਾਬ ਸਵੀਕਾਰਯੋਗ ਨਹੀਂ ਹੈ ਤਾਂ ਇੱਕ ਗਲਤੀ ਸੁੱਟ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ। |
response.json() | API ਜਵਾਬ ਦੇ JSON ਬਾਡੀ ਨੂੰ ਪਾਰਸ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਇਹ ਜਵਾਬ ਸਟ੍ਰੀਮ ਤੋਂ ਇੱਕ JavaScript ਆਬਜੈਕਟ ਬਣਾਉਂਦਾ ਹੈ। |
throw new Error() | API ਜਵਾਬ ਅਸਫਲ ਹੋਣ ਦੀ ਸਥਿਤੀ ਵਿੱਚ ਇੱਕ ਅਨੁਕੂਲਿਤ ਗਲਤੀ ਸੁਨੇਹਾ ਸੁੱਟਦਾ ਹੈ। ਇਹ ਸਟੀਕ ਸੁਨੇਹੇ ਦਿੰਦਾ ਹੈ, ਜੋ ਵਧੇਰੇ ਕੁਸ਼ਲ ਗਲਤੀ ਪ੍ਰਬੰਧਨ ਦੀ ਸਹੂਲਤ ਦਿੰਦਾ ਹੈ। |
console.assert() | Console.assert() ਇੱਕ ਟੂਲ ਹੈ ਜੋ ਡੀਬੱਗਿੰਗ ਅਤੇ ਟੈਸਟਿੰਗ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਜੋ ਟੈਸਟਾਂ ਵਿੱਚ ਪ੍ਰਾਪਤੀ ਵਿਧੀ ਦੀ ਵੈਧਤਾ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ ਜੇਕਰ ਨਿਰਧਾਰਤ ਦਾਅਵਾ ਗਲਤ ਹੈ ਤਾਂ ਸਿਰਫ਼ ਇੱਕ ਸੁਨੇਹਾ ਲੌਗ ਕਰਕੇ। |
Content-Type | ਬੇਨਤੀ ਬਾਡੀ ਦਾ ਫਾਰਮੈਟ ਸਮੱਗਰੀ-ਕਿਸਮ ਦੇ ਸਿਰਲੇਖ ਵਿੱਚ ਨਿਸ਼ਚਿਤ ਕੀਤਾ ਗਿਆ ਹੈ, ਜੋ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ API ਡੇਟਾ ਨੂੰ ਸਮਝ ਸਕਦਾ ਹੈ (ਇਸ ਕੇਸ ਵਿੱਚ ਐਪਲੀਕੇਸ਼ਨ/json)। |
try/catch | ਗਲਤੀਆਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਅਸਿੰਕ ਰੁਟੀਨਾਂ ਵਿੱਚ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਕੋਡ ਜੋ ਗਲਤੀ ਦਾ ਕਾਰਨ ਬਣ ਸਕਦਾ ਹੈ ਕੋਸ਼ਿਸ਼ ਬਲਾਕ ਵਿੱਚ ਮੌਜੂਦ ਹੈ, ਅਤੇ ਕੋਈ ਵੀ ਗਲਤੀ ਜੋ ਪੈਦਾ ਹੁੰਦੀ ਹੈ ਉਸਨੂੰ ਕੈਚ ਬਲਾਕ ਵਿੱਚ ਸੰਭਾਲਿਆ ਜਾਂਦਾ ਹੈ। |
POST ਬੇਨਤੀਆਂ ਲਈ JavaScript Fetch API ਨੂੰ ਸਮਝਣਾ
ਸਪਲਾਈ ਕੀਤੀਆਂ ਸਕ੍ਰਿਪਟਾਂ ਦਾ ਮੁੱਖ ਫੋਕਸ ਏ ਭੇਜਣ 'ਤੇ ਹੈ POST ਬੇਨਤੀ JavaScript ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ API ਨੂੰ ਪ੍ਰਾਪਤ ਕਰੋ() ਢੰਗ. ਢੁਕਵੇਂ ਸਿਰਲੇਖਾਂ ਨੂੰ ਭੇਜਣਾ-ਖਾਸ ਤੌਰ 'ਤੇ ਅਧਿਕਾਰ ਸਿਰਲੇਖ, ਜਿਸ ਵਿੱਚ ਇੱਕ API ਕੁੰਜੀ ਅਤੇ ਹੈਸ਼ਡ ਕ੍ਰੇਡੇੰਸ਼ਿਅਲ ਦੋਵੇਂ ਸ਼ਾਮਲ ਹਨ-ਮੁੱਖ ਚੁਣੌਤੀ ਬਣੀ ਹੋਈ ਹੈ। ਇਹ ਡੇਟਾ API ਦੁਆਰਾ ਇੱਕ ਬੇਅਰਰ ਟੋਕਨ ਦੇ ਰੂਪ ਵਿੱਚ ਉਮੀਦ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਜੋ ਬਾਅਦ ਵਿੱਚ ਪ੍ਰਮਾਣਿਕਤਾ ਲਈ ਸਰਵਰ ਨੂੰ ਪ੍ਰਸਾਰਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਸੰਵੇਦਨਸ਼ੀਲ ਡੇਟਾ, ਜਿਵੇਂ ਕਿ ਕ੍ਰੈਡੈਂਸ਼ੀਅਲ, ਨੂੰ ਏਨਕ੍ਰਿਪਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਇਸ ਪ੍ਰਸਿੱਧ ਪ੍ਰਮਾਣੀਕਰਨ ਤਕਨੀਕ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਕਲਾਇੰਟ ਅਤੇ ਸਰਵਰ ਵਿਚਕਾਰ ਸੰਚਾਰ ਕਰਨ ਵੇਲੇ ਸੁਰੱਖਿਅਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
ਜਦੋਂ HTTP ਬੇਨਤੀਆਂ ਭੇਜਣ ਦੀ ਗੱਲ ਆਉਂਦੀ ਹੈ, ਤਾਂ ਪ੍ਰਾਪਤ ਕਰਨ ਦਾ ਤਰੀਕਾ ਬਹੁਤ ਲਚਕਦਾਰ ਹੁੰਦਾ ਹੈ। ਮੁੱਢਲੀ ਪ੍ਰਾਪਤੀ ਬਣਤਰ ਪਹਿਲੀ ਸਕ੍ਰਿਪਟ ਉਦਾਹਰਨ ਵਿੱਚ ਵਰਤੀ ਜਾਂਦੀ ਹੈ, ਜਿੱਥੇ ਢੰਗ 'POST' 'ਤੇ ਸੈੱਟ ਹੈ। ਇਹ API ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਡੇਟਾ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਬਜਾਏ ਭੇਜਿਆ ਜਾ ਰਿਹਾ ਹੈ। ਇਸ ਮਾਮਲੇ ਵਿੱਚ, ਦ ਸਿਰਲੇਖ ਆਬਜੈਕਟ ਜ਼ਰੂਰੀ ਹੈ ਕਿਉਂਕਿ ਇਹ ਅਧਿਕਾਰ ਖੇਤਰ ਰੱਖਦਾ ਹੈ, ਜਿੱਥੇ ਬੇਅਰਰ ਟੋਕਨ ਭੇਜਿਆ ਜਾਂਦਾ ਹੈ। 'ਸਮੱਗਰੀ-ਕਿਸਮ: ਐਪਲੀਕੇਸ਼ਨ/json' ਨੂੰ ਸਰਵਰ ਨੂੰ ਸੂਚਿਤ ਕਰਨ ਲਈ ਵੀ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ ਕਿ ਡੇਟਾ JSON ਫਾਰਮੈਟ ਵਿੱਚ ਪ੍ਰਸਾਰਿਤ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ। ਇਸ ਦੀ ਅਣਹੋਂਦ ਵਿੱਚ ਬੇਨਤੀ ਦੀ ਸਰਵਰ ਦੁਆਰਾ ਗਲਤ ਵਿਆਖਿਆ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਗਲਤੀਆਂ ਹੋ ਸਕਦੀਆਂ ਹਨ।
ਕੋਡ ਨੂੰ ਵਧੇਰੇ ਸਮਝਣਯੋਗ ਅਤੇ ਸਾਫ਼-ਸੁਥਰਾ ਬਣਾਉਣ ਲਈ, ਅਸੀਂ ਪੇਸ਼ ਕਰਦੇ ਹਾਂ async/ਉਡੀਕ ਦੂਜੀ ਸਕਰਿਪਟ ਵਿੱਚ ਸੰਟੈਕਸ। ਇਹ ਵਿਧੀ ਅਸਿੰਕਰੋਨਸ ਬੇਨਤੀਆਂ ਦਾ ਜਵਾਬ ਦੇਣ ਵਿੱਚ ਸਹਾਇਤਾ ਕਰਦੀ ਹੈ। ਅਸੀਂ ਇੱਕ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਾਂ ਕੋਸ਼ਿਸ਼ ਕਰੋ/ਫੜੋ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਵਾਅਦਿਆਂ ਨੂੰ ਚੇਨ ਕਰਨ ਦੀ ਥਾਂ 'ਤੇ ਬਲਾਕ ਫਿਰ() ਅਤੇ ਫੜੋ(). ਇਹ ਕੋਡ ਨੂੰ ਬਰਕਰਾਰ ਰੱਖਣ ਲਈ ਆਸਾਨ ਬਣਾਉਂਦਾ ਹੈ ਅਤੇ ਤਰੁੱਟੀ ਦੇ ਪ੍ਰਬੰਧਨ ਨੂੰ ਸੁਚਾਰੂ ਬਣਾਉਂਦਾ ਹੈ। ਜੇਕਰ API ਜਵਾਬ ਵਿੱਚ ਕੋਈ ਸਮੱਸਿਆ ਹੈ, ਤਾਂ ਅਸੀਂ ਇਸਦੀ ਪਛਾਣ ਕਰਦੇ ਹਾਂ ਅਤੇ ਇੱਕ ਸੰਪੂਰਨ ਸੁਨੇਹਾ ਰਿਕਾਰਡ ਕਰਦੇ ਹਾਂ। ਇਹ ਖਾਸ ਤੌਰ 'ਤੇ ਸਮੱਸਿਆ ਦੇ ਨਿਪਟਾਰੇ ਲਈ ਮਦਦਗਾਰ ਹੈ ਜਿਵੇਂ ਕਿ '500 ਅੰਦਰੂਨੀ ਸਰਵਰ ਗਲਤੀ' ਜੋ ਕਿ ਸ਼ੁਰੂਆਤੀ ਬੇਨਤੀ ਦੌਰਾਨ ਆਈ ਸੀ।
ਫੈਚ ਤਰਕ ਨੂੰ ਤੀਜੇ ਹੱਲ ਵਿੱਚ ਇਸਦੇ ਆਪਣੇ ਫੰਕਸ਼ਨ ਵਿੱਚ ਵੰਡਿਆ ਗਿਆ ਹੈ, ਜੋ ਇੱਕ ਹੋਰ ਮਾਡਯੂਲਰ ਰਣਨੀਤੀ ਅਪਣਾਉਂਦੀ ਹੈ ਅਤੇ ਇਸਨੂੰ ਮੁੜ ਵਰਤੋਂ ਯੋਗ ਬਣਾਉਂਦੀ ਹੈ। ਅਸੀਂ ਇੱਕ ਸਧਾਰਨ ਯੂਨਿਟ ਟੈਸਟ ਵੀ ਲਾਗੂ ਕਰਦੇ ਹਾਂ ਜੋ ਵਰਤਦਾ ਹੈ console.asssert() ਇਹ ਪਤਾ ਲਗਾਉਣ ਲਈ ਕਿ ਕੀ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਬੇਨਤੀ ਦਾ ਜਵਾਬ ਸਹੀ ਹੈ। ਤੁਸੀਂ ਵਿਕਲਪਕ API ਅੰਤਮ ਬਿੰਦੂਆਂ ਜਾਂ ਪ੍ਰਮਾਣੀਕਰਨ ਤਕਨੀਕਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ ਫੰਕਸ਼ਨ ਨੂੰ ਇਸਦੀ ਮਾਡਯੂਲਰ ਬਣਤਰ ਦੇ ਕਾਰਨ ਤੇਜ਼ੀ ਨਾਲ ਸੰਸ਼ੋਧਿਤ ਕਰ ਸਕਦੇ ਹੋ। ਇਸਦੀ ਬਿਲਟ-ਇਨ ਗਲਤੀ-ਪ੍ਰਬੰਧਨ ਸਮਰੱਥਾਵਾਂ ਦੇ ਕਾਰਨ, ਐਪਲੀਕੇਸ਼ਨ ਫਿਰ ਵੀ ਸੂਝਵਾਨ ਫੀਡਬੈਕ ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰ ਸਕਦੀ ਹੈ ਭਾਵੇਂ ਕਿ ਬੇਨਤੀ ਅਸਫਲ ਰਹੀ ਹੈ।
ਅਧਿਕਾਰ ਦੇ ਨਾਲ API ਪੋਸਟ ਬੇਨਤੀ ਭੇਜਣ ਲਈ ਪ੍ਰਾਪਤ ਕਰੋ
ਇਹ ਉਦਾਹਰਨ ਤੁਹਾਨੂੰ ਦਿਖਾਉਂਦੀ ਹੈ ਕਿ ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰਨੀ ਹੈ ਪ੍ਰਾਪਤ ਕਰੋ() ਅਧਿਕਾਰ ਸਿਰਲੇਖਾਂ ਅਤੇ ਉਚਿਤ ਗਲਤੀ ਨਾਲ ਨਜਿੱਠਣ ਦੇ ਨਾਲ ਇੱਕ POST ਬੇਨਤੀ ਭੇਜਣ ਦਾ ਤਰੀਕਾ।
// Solution 1: Simple Fetch API with Authorization
const apiKey = 'your_api_key';
const hashedCredentials = 'your_hashed_credentials';
const url = 'https://authservice.priaid.ch/login?format=json';
fetch(url, {
method: 'POST',
headers: {
'Authorization': `Bearer ${apiKey}:${hashedCredentials}`,
'Content-Type': 'application/json'
}
})
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(data => console.log('Success:', data))
.catch(error => console.error('Error:', error));
ਪ੍ਰਾਪਤੀ ਨਾਲ ਪ੍ਰਮਾਣਿਕਤਾ ਅਤੇ ਬੇਨਤੀ ਦੀਆਂ ਗਲਤੀਆਂ ਨੂੰ ਸੰਭਾਲਣਾ
ਇਹ ਵਿਧੀ ਗਲਤੀ ਸੰਭਾਲਣ ਨੂੰ ਵਧਾ ਕੇ ਅਤੇ ਸਵਾਲਾਂ ਦੇ ਅਸਫਲ ਹੋਣ 'ਤੇ ਪੂਰੀ ਤਰ੍ਹਾਂ ਫੀਡਬੈਕ ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰਕੇ ਭਰੋਸੇਯੋਗ API ਸੰਚਾਰ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ।
// Solution 2: Fetch with Detailed Error Handling
async function postData() {
const apiKey = 'your_api_key';
const hashedCredentials = 'your_hashed_credentials';
const url = 'https://authservice.priaid.ch/login?format=json';
try {
const response = await fetch(url, {
method: 'POST',
headers: {
'Authorization': `Bearer ${apiKey}:${hashedCredentials}`,
'Content-Type': 'application/json'
}
});
if (!response.ok) {
throw new Error(`Error ${response.status}: ${response.statusText}`);
}
const data = await response.json();
console.log('Success:', data);
} catch (error) {
console.error('Fetch Error:', error.message);
}
}
postData();
ਫੈਚ ਅਤੇ ਯੂਨਿਟ ਟੈਸਟਿੰਗ ਦੇ ਨਾਲ ਮਾਡਯੂਲਰ ਪਹੁੰਚ
ਇਸ ਮਾਡਯੂਲਰ ਪਹੁੰਚ ਵਿੱਚ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਬੇਨਤੀ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ ਇੱਕ ਸਧਾਰਨ ਯੂਨਿਟ ਟੈਸਟ ਸ਼ਾਮਲ ਹੁੰਦਾ ਹੈ ਅਤੇ ਤਰਕ ਨੂੰ ਫੰਕਸ਼ਨਾਂ ਵਿੱਚ ਵੰਡਦਾ ਹੈ।
// Solution 3: Modular Fetch Function with Unit Test
const fetchData = async (apiKey, hashedCredentials) => {
const url = 'https://authservice.priaid.ch/login?format=json';
try {
const response = await fetch(url, {
method: 'POST',
headers: {
'Authorization': `Bearer ${apiKey}:${hashedCredentials}`,
'Content-Type': 'application/json'
}
});
if (!response.ok) {
throw new Error(`Error ${response.status}: ${response.statusText}`);
}
return await response.json();
} catch (error) {
return { success: false, message: error.message };
}
};
// Unit Test
const testFetchData = async () => {
const result = await fetchData('your_api_key', 'your_hashed_credentials');
console.assert(result.success !== false, 'Test Failed: ', result.message);
console.log('Test Passed:', result);
};
testFetchData();
ਫੈਚ ਬੇਨਤੀਆਂ ਵਿੱਚ API ਪ੍ਰਮਾਣਿਕਤਾ ਅਤੇ ਗਲਤੀ ਹੈਂਡਲਿੰਗ 'ਤੇ ਵਿਸਤਾਰ ਕਰਨਾ
APIs ਨਾਲ ਕੰਮ ਕਰਨ ਲਈ ਇਹ ਸਮਝਣ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ ਕਿ ਸਿਰਲੇਖਾਂ ਅਤੇ ਟੋਕਨਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਿਵੇਂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਖਾਸ ਤੌਰ 'ਤੇ ਉਹਨਾਂ ਲਈ ਜਿਨ੍ਹਾਂ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ ਪ੍ਰਮਾਣਿਕਤਾ. ਵਿੱਚ ਇੱਕ ਬੇਅਰਰ ਟੋਕਨ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦਾ ਰਿਵਾਜ ਹੈ ਅਧਿਕਾਰ API ਬੇਨਤੀ ਲਈ ਸਿਰਲੇਖ ਜੋ ਤੁਸੀਂ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਰਹੇ ਹੋ। ਏਨਕ੍ਰਿਪਟਡ ਪ੍ਰਮਾਣ ਪੱਤਰਾਂ ਨੂੰ ਪ੍ਰਸਾਰਿਤ ਕਰਕੇ, ਇਹ ਤਕਨੀਕ ਤੁਹਾਡੇ ਕਲਾਇੰਟ ਅਤੇ API ਵਿਚਕਾਰ ਸੁਰੱਖਿਅਤ ਕਨੈਕਸ਼ਨ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਂਦੀ ਹੈ। ਤੁਹਾਡੇ ਹੈਸ਼ ਕੀਤੇ ਪ੍ਰਮਾਣ ਪੱਤਰ ਅਤੇ API ਕੁੰਜੀ ਨੂੰ ਆਮ ਤੌਰ 'ਤੇ ਬੇਅਰਰ ਟੋਕਨ ਵਿੱਚ ਸ਼ਾਮਲ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਤੁਹਾਡੇ ਦੁਆਰਾ ਅਨੁਭਵ ਕੀਤੀ 500 ਅੰਦਰੂਨੀ ਸਰਵਰ ਗਲਤੀ ਵਰਗੀਆਂ ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਰੋਕਣ ਲਈ ਇਸਨੂੰ ਉਚਿਤ ਰੂਪ ਵਿੱਚ ਫਾਰਮੈਟ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ।
ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ POST ਬੇਨਤੀਆਂ ਨੂੰ ਜਮ੍ਹਾਂ ਕਰਨ ਦਾ ਇੱਕ ਮਹੱਤਵਪੂਰਨ ਤੱਤ ਪ੍ਰਾਪਤ ਕਰੋ() ਇਹ ਪੁਸ਼ਟੀ ਕਰ ਰਿਹਾ ਹੈ ਕਿ API ਤੁਹਾਡੇ ਦੁਆਰਾ ਪ੍ਰਦਾਨ ਕੀਤੇ ਜਾ ਰਹੇ ਖਾਸ ਫਾਰਮੈਟ ਅਤੇ ਕਿਸਮ ਦੇ ਡੇਟਾ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਦੇ ਸਮਰੱਥ ਹੈ। ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰਨ ਲਈ ਕਿ ਸਰਵਰ ਤੁਹਾਡੀ ਬੇਨਤੀ ਦੇ ਮੁੱਖ ਭਾਗ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਪੜ੍ਹਦਾ ਹੈ, ਤੁਸੀਂ 'ਸਮੱਗਰੀ-ਕਿਸਮ: ਐਪਲੀਕੇਸ਼ਨ/json' ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ। ਕਦੇ-ਕਦਾਈਂ, APIs ਨੂੰ POST ਬੇਨਤੀ ਬਾਡੀ ਵਿੱਚ ਵਾਧੂ ਖੇਤਰਾਂ ਦੀ ਲੋੜ ਹੋ ਸਕਦੀ ਹੈ, ਜਿਸ ਵਿੱਚ ਫਾਰਮ ਡੇਟਾ ਜਾਂ ਪੁੱਛਗਿੱਛ ਪੈਰਾਮੀਟਰ ਸ਼ਾਮਲ ਹਨ, ਜੋ ਪਹਿਲਾਂ ਦਸਤਾਵੇਜ਼ਾਂ ਤੋਂ ਸਪੱਸ਼ਟ ਨਹੀਂ ਹੋ ਸਕਦੇ ਸਨ।
ਭਰੋਸੇਮੰਦ ਪ੍ਰੋਗਰਾਮਾਂ ਦਾ ਵਿਕਾਸ ਕਰਨਾ ਜੋ ਬਾਹਰੀ APIs ਨਾਲ ਸੰਚਾਰ ਕਰਦੇ ਹਨ ਗਲਤੀ ਪ੍ਰਬੰਧਨ 'ਤੇ ਧਿਆਨ ਨਾਲ ਵਿਚਾਰ ਕਰਨ ਦੀ ਲੋੜ ਹੈ। ਤੁਹਾਨੂੰ 500 ਗਲਤੀ ਤੋਂ ਇਲਾਵਾ ਹੋਰ ਸਮੱਸਿਆਵਾਂ ਹੋ ਸਕਦੀਆਂ ਹਨ, ਜਿਵੇਂ ਕਿ 404 ਗਲਤੀਆਂ ਜਾਂ 400 ਗਲਤੀਆਂ ਗਲਤ ਡੇਟਾ ਜਾਂ ਗਲਤ ਅੰਤਮ ਬਿੰਦੂਆਂ ਨਾਲ ਸਬੰਧਤ। ਦੀ ਵਰਤੋਂ ਏ ਕੋਸ਼ਿਸ਼ ਕਰੋ/ਫੜੋ ਬਲਾਕ, ਤੁਹਾਡੇ ਕੋਡ ਵਿੱਚ ਵਿਆਪਕ ਗਲਤੀ ਸੁਨੇਹਿਆਂ ਅਤੇ ਲੌਗਿੰਗ ਪ੍ਰਣਾਲੀਆਂ ਦੇ ਨਾਲ, ਇਹਨਾਂ ਮੁੱਦਿਆਂ ਦੇ ਨਿਦਾਨ ਅਤੇ ਹੱਲ ਵਿੱਚ ਸਹਾਇਤਾ ਕਰ ਸਕਦਾ ਹੈ। ਤੁਹਾਡੇ ਕੋਡ ਵਿੱਚ ਬੇਨਤੀਆਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ, ਪੋਸਟਮੈਨ ਜਾਂ ਕਰਲ ਵਰਗੇ ਪ੍ਰੋਗਰਾਮਾਂ ਨਾਲ ਉਹਨਾਂ ਦੀ ਜਾਂਚ ਕਰਨਾ ਹਮੇਸ਼ਾ ਇੱਕ ਚੰਗਾ ਵਿਚਾਰ ਹੁੰਦਾ ਹੈ ਤਾਂ ਜੋ ਇਹ ਯਕੀਨੀ ਬਣਾਇਆ ਜਾ ਸਕੇ ਕਿ ਸਭ ਕੁਝ ਉਸੇ ਤਰ੍ਹਾਂ ਕੰਮ ਕਰਦਾ ਹੈ ਜਿਵੇਂ ਇਹ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।
ਫੈਚ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ API ਪੋਸਟ ਬੇਨਤੀਆਂ ਬਾਰੇ ਆਮ ਸਵਾਲ
- ਬੇਅਰਰ ਟੋਕਨ ਕੀ ਹੈ, ਅਤੇ ਇਹ ਮਹੱਤਵਪੂਰਨ ਕਿਉਂ ਹੈ?
- API ਸੰਚਾਰ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰਨ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਇੱਕ ਕਿਸਮ ਦੀ ਪ੍ਰਮਾਣਿਕਤਾ ਤਕਨੀਕ ਹੈ ਬੇਅਰਰ ਟੋਕਨ। ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿ ਸਰਵਰ ਜਾਣਦਾ ਹੈ ਕਿ ਬੇਨਤੀ ਕੌਣ ਕਰ ਰਿਹਾ ਹੈ, ਇਸ ਨੂੰ ਦੁਆਰਾ ਪਾਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ Authorization ਤੁਹਾਡੀ ਬੇਨਤੀ ਵਿੱਚ ਸਿਰਲੇਖ.
- ਮੈਨੂੰ ਇੱਕ 500 ਅੰਦਰੂਨੀ ਸਰਵਰ ਗਲਤੀ ਕਿਉਂ ਮਿਲਦੀ ਹੈ?
- ਇੱਕ 500 ਗਲਤੀ ਸਰਵਰ ਨਾਲ ਇੱਕ ਸਮੱਸਿਆ ਦਾ ਸੁਝਾਅ ਦਿੰਦੀ ਹੈ। ਤੁਹਾਡੇ ਉਦਾਹਰਣ ਵਿੱਚ, ਇਹ API ਨੂੰ ਪ੍ਰਦਾਨ ਕੀਤੇ ਜਾ ਰਹੇ ਨੁਕਸਦਾਰ ਡੇਟਾ ਜਾਂ ਦੇ ਗਲਤ ਫਾਰਮੈਟਿੰਗ ਦਾ ਨਤੀਜਾ ਹੋ ਸਕਦਾ ਹੈ Authorization ਸਿਰਲੇਖ.
- ਮੈਂ ਇੱਕ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਬੇਨਤੀ ਵਿੱਚ ਗਲਤੀਆਂ ਨੂੰ ਕਿਵੇਂ ਸੰਭਾਲ ਸਕਦਾ ਹਾਂ?
- ਡੀਬੱਗਿੰਗ ਵਿੱਚ ਸਹਾਇਤਾ ਕਰਨ ਲਈ, ਏ try/catch ਏ ਵਿੱਚ ਬਲਾਕ async ਕਿਸੇ ਵੀ ਗਲਤੀ ਦਾ ਪਤਾ ਲਗਾਉਣ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਨ ਲਈ ਫੰਕਸ਼ਨ console.error().
- 'ਸਮੱਗਰੀ-ਕਿਸਮ' ਸਿਰਲੇਖ ਕੀ ਕਰਦਾ ਹੈ?
- ਡੇਟਾ ਦੀ ਕਿਸਮ ਜੋ ਤੁਸੀਂ ਸਰਵਰ ਤੇ ਪ੍ਰਸਾਰਿਤ ਕਰ ਰਹੇ ਹੋ ਦੁਆਰਾ ਦਰਸਾਈ ਗਈ ਹੈ Content-Type ਸਿਰਲੇਖ. 'application/json' ਆਮ ਤੌਰ 'ਤੇ JSON ਫਾਰਮੈਟ ਵਿੱਚ ਡਾਟਾ ਸੰਚਾਰਿਤ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।
- ਕੀ ਮੈਂ ਵੱਖ-ਵੱਖ APIs ਵਿੱਚ ਫੈਚ ਫੰਕਸ਼ਨ ਦੀ ਮੁੜ ਵਰਤੋਂ ਕਰ ਸਕਦਾ ਹਾਂ?
- ਹਾਂ, ਤੁਸੀਂ ਇਸ ਨੂੰ ਮਾਡਯੂਲਰ ਬਣਾ ਕੇ ਅਤੇ ਆਰਗੂਮੈਂਟਾਂ ਦੇ ਤੌਰ 'ਤੇ ਸਿਰਲੇਖ, ਬਾਡੀ, ਅਤੇ API ਅੰਤਮ ਬਿੰਦੂ ਦੀ ਸਪਲਾਈ ਕਰਕੇ ਕਈ API ਲਈ ਫੈਚ ਫੰਕਸ਼ਨ ਨੂੰ ਆਸਾਨੀ ਨਾਲ ਦੁਬਾਰਾ ਵਰਤ ਸਕਦੇ ਹੋ।
API ਬੇਨਤੀ ਚੁਣੌਤੀਆਂ 'ਤੇ ਅੰਤਿਮ ਵਿਚਾਰ
ਬਾਹਰੀ ਸੇਵਾਵਾਂ ਨਾਲ ਕੰਮ ਕਰਨ ਲਈ ਤੁਹਾਨੂੰ API POST ਬੇਨਤੀਆਂ ਭੇਜਣ ਲਈ JavaScript ਦੀ ਵਰਤੋਂ ਕਰਨ ਬਾਰੇ ਸਿੱਖਣ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਤੁਸੀਂ ਗਲਤੀਆਂ ਦਾ ਸਹੀ ਢੰਗ ਨਾਲ ਪ੍ਰਬੰਧਨ ਕਰਕੇ ਪ੍ਰਮਾਣਿਤ ਬੇਨਤੀਆਂ ਕਰਨ ਦੀਆਂ ਸੰਭਾਵਨਾਵਾਂ ਨੂੰ ਮਹੱਤਵਪੂਰਨ ਤੌਰ 'ਤੇ ਵਧਾ ਸਕਦੇ ਹੋ, ਇਹ ਯਕੀਨੀ ਬਣਾ ਕੇ ਕਿ ਅਧਿਕਾਰ ਸਿਰਲੇਖ ਸ਼ਾਮਲ ਹੈ, ਅਤੇ ਦਾ ਆਯੋਜਨ ਪ੍ਰਾਪਤ ਕਰੋ ਢੰਗ.
ਗਲਤੀਆਂ ਜਿਵੇਂ ਕਿ 500 ਅੰਦਰੂਨੀ ਸਰਵਰ ਗਲਤੀ ਅਕਸਰ ਡੇਟਾ ਜਾਂ ਬੇਨਤੀ ਢਾਂਚੇ ਦੇ ਫਾਰਮੈਟਿੰਗ ਨਾਲ ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ। ਧਿਆਨ ਨਾਲ ਸਿਰਲੇਖ ਪ੍ਰਬੰਧਨ ਅਤੇ ਪੂਰੀ ਤਰ੍ਹਾਂ ਗਲਤੀ ਸੁਨੇਹਾ ਡੀਬੱਗਿੰਗ ਨਾਲ ਇਸ ਕਿਸਮ ਦੀਆਂ ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਹੱਲ ਕਰਨਾ ਆਸਾਨ ਹੈ।
JavaScript ਨਾਲ API POST ਬੇਨਤੀ ਲਈ ਸਰੋਤ ਅਤੇ ਹਵਾਲੇ
- ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਵਿੱਚ ਪ੍ਰਾਪਤ ਕਰਨ ਦੇ ਨਾਲ ਇੱਕ POST ਬੇਨਤੀ ਨੂੰ ਕਿਵੇਂ ਢਾਂਚਾ ਬਣਾਇਆ ਜਾਵੇ, ਅਧਿਕਾਰਤ ਸਿਰਲੇਖਾਂ ਨੂੰ ਸੰਭਾਲਣ ਸਮੇਤ: MDN ਵੈੱਬ ਡੌਕਸ - ਪ੍ਰਾਪਤ ਕਰੋ API
- API ਦਸਤਾਵੇਜ਼ ਇੱਕ POST ਬੇਨਤੀ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਬੇਅਰਰ ਟੋਕਨਾਂ ਨਾਲ ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਦੇ ਤਰੀਕੇ ਬਾਰੇ ਮਾਰਗਦਰਸ਼ਨ ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰਦਾ ਹੈ: Priaid ਪ੍ਰਮਾਣਿਕਤਾ ਸੇਵਾ
- JavaScript ਬੇਨਤੀਆਂ ਲਈ ਤਰੁੱਟੀ ਸੰਭਾਲਣ 'ਤੇ ਵਿਆਪਕ ਸਰੋਤ, ਆਮ ਮੁੱਦਿਆਂ ਜਿਵੇਂ ਕਿ 500 ਅੰਦਰੂਨੀ ਸਰਵਰ ਗਲਤੀ 'ਤੇ ਧਿਆਨ ਕੇਂਦਰਤ ਕਰਦੇ ਹੋਏ: MDN ਵੈੱਬ ਡੌਕਸ - HTTP 500 ਸਥਿਤੀ ਕੋਡ