PHP ਤੋਂ JavaScript ਨੂੰ ਕੁਸ਼ਲਤਾ ਨਾਲ ਡਾਟਾ ਪਾਸ ਕਰਨਾ
ਵੈਬ ਡਿਵੈਲਪਮੈਂਟ ਵਿੱਚ ਸਭ ਤੋਂ ਆਮ ਕੰਮਾਂ ਵਿੱਚੋਂ ਇੱਕ ਹੈ ਸਰਵਰ ਤੋਂ ਗਾਹਕ ਨੂੰ ਡੇਟਾ ਨੂੰ ਉਪਭੋਗਤਾ ਨੂੰ ਸਿੱਧੇ ਪ੍ਰਦਰਸ਼ਿਤ ਕੀਤੇ ਬਿਨਾਂ ਭੇਜਣਾ। ਇਹ ਵਿਸ਼ੇਸ਼ ਤੌਰ 'ਤੇ ਉਦੋਂ ਲਾਭਦਾਇਕ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਸੰਵੇਦਨਸ਼ੀਲ ਜਾਣਕਾਰੀ ਨੂੰ ਸੰਭਾਲਦੇ ਹੋਏ ਜਾਂ ਕਿਸੇ ਜਵਾਬ ਨੂੰ ਸੰਰਚਨਾ ਕਰਦੇ ਹੋਏ ਜੋ ਸਿਰਫ਼ JavaScript ਨੂੰ ਵਿਆਖਿਆ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ। PHP ਅਤੇ JavaScript ਨਾਲ ਇਕੱਠੇ ਕੰਮ ਕਰਦੇ ਹੋਏ ਬਹੁਤ ਸਾਰੇ ਡਿਵੈਲਪਰ ਇਸ ਚੁਣੌਤੀ ਦਾ ਸਾਹਮਣਾ ਕਰਦੇ ਹਨ।
ਇਸ ਸਥਿਤੀ ਵਿੱਚ, ਅਸੀਂ ਸਰਵਰ ਨੂੰ ਉਪਭੋਗਤਾ ਡੇਟਾ ਭੇਜਣ ਲਈ XMLHttpRequest ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਾਂ। ਸਰਵਰ ਫਿਰ ਬੇਨਤੀ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਦਾ ਹੈ, ਡੇਟਾਬੇਸ ਦੀ ਖੋਜ ਕਰਦਾ ਹੈ, ਅਤੇ ਲੋੜੀਂਦਾ ਡੇਟਾ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ. ਹਾਲਾਂਕਿ, ਇਸ ਡੇਟਾ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਪ੍ਰਗਟ ਕੀਤੇ ਬਿਨਾਂ JavaScript 'ਤੇ ਵਾਪਸ ਪਹੁੰਚਾਉਣਾ ਔਖਾ ਹੈ।
ਡਾਟਾ ਨੂੰ ਵੱਖ-ਵੱਖ ਤਰੀਕਿਆਂ ਨਾਲ ਵਾਪਸ ਭੇਜਣਾ ਸੰਭਵ ਹੈ, ਜਿਵੇਂ ਕਿ ਕੂਕੀਜ਼ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਜਾਂ JavaScript ਜਾਂ HTML ਦੇ ਅੰਦਰ ਏਮਬੈਡ ਕਰਨਾ। ਪਰ ਇਹਨਾਂ ਵਿੱਚੋਂ ਹਰੇਕ ਵਿਧੀ ਵਿੱਚ ਕਮੀਆਂ ਹਨ, ਖਾਸ ਤੌਰ 'ਤੇ ਜਦੋਂ XMLHttpRequest ਸ਼ਾਮਲ ਹੁੰਦੀ ਹੈ, ਜੋ ਅਕਸਰ ਡੇਟਾ ਦੇ ਅਣਇੱਛਤ ਡਿਸਪਲੇ ਜਾਂ ਅਧੂਰੇ ਡੇਟਾ ਹੈਂਡਲਿੰਗ ਵਰਗੇ ਮੁੱਦਿਆਂ ਵੱਲ ਖੜਦੀ ਹੈ।
ਇਹ ਲੇਖ PHP ਤੋਂ ਪ੍ਰਾਪਤ ਕੀਤੇ ਡੇਟਾ ਨੂੰ ਸੁਰੱਖਿਅਤ ਢੰਗ ਨਾਲ JavaScript ਵਿੱਚ ਭੇਜਣ ਲਈ ਇੱਕ ਪਹੁੰਚ ਦੀ ਪੜਚੋਲ ਕਰੇਗਾ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਡੇਟਾ ਉਪਭੋਗਤਾ ਦੇ ਦ੍ਰਿਸ਼ ਤੋਂ ਲੁਕਿਆ ਹੋਇਆ ਹੈ ਪਰ JavaScript ਦੁਆਰਾ ਹੇਰਾਫੇਰੀ ਕਰਨ ਲਈ ਪਹੁੰਚਯੋਗ ਹੈ।
ਹੁਕਮ | ਵਰਤੋਂ ਦੀ ਉਦਾਹਰਨ |
---|---|
XMLHttpRequest.onreadystatechange | ਇਹ ਇੱਕ ਮੁੱਖ ਇਵੈਂਟ ਹੈਂਡਲਰ ਹੈ ਜੋ XMLHttpRequest ਵਿੱਚ ਸਟੇਟ ਬਦਲਾਅ ਸੁਣਦਾ ਹੈ। ਇਸ ਸਮੱਸਿਆ ਵਿੱਚ, ਇਹ ਪਤਾ ਲਗਾਉਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਕਿ ਕਦੋਂ ਬੇਨਤੀ ਪੂਰੀ ਹੋ ਗਈ ਹੈ ਅਤੇ ਸਰਵਰ ਨੇ ਜਵਾਬ ਦਿੱਤਾ ਹੈ, JavaScript ਵਿੱਚ ਵਾਪਸ ਕੀਤੇ ਡੇਟਾ ਦੇ ਪ੍ਰਬੰਧਨ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਂਦਾ ਹੈ। |
responseText | XMLHttpRequest ਆਬਜੈਕਟ ਦੀ ਇਹ ਵਿਸ਼ੇਸ਼ਤਾ ਸਰਵਰ ਤੋਂ ਜਵਾਬ ਨੂੰ ਇੱਕ ਸਤਰ ਦੇ ਰੂਪ ਵਿੱਚ ਸਟੋਰ ਕਰਦੀ ਹੈ। ਇਸ ਸਥਿਤੀ ਵਿੱਚ, ਇਸ ਵਿੱਚ PHP ਦੁਆਰਾ ਵਾਪਸ ਕੀਤਾ ਗਿਆ JSON-ਏਨਕੋਡਡ ਡੇਟਾ ਹੁੰਦਾ ਹੈ, ਜਿਸ ਨੂੰ ਬਾਅਦ ਵਿੱਚ ਹੋਰ ਹੇਰਾਫੇਰੀ ਲਈ ਇੱਕ JavaScript ਵਸਤੂ ਵਿੱਚ ਪਾਰਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। |
JSON.parse() | ਇਸ ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਸਰਵਰ ਤੋਂ JSON-ਏਨਕੋਡ ਕੀਤੀ ਸਟ੍ਰਿੰਗ ਨੂੰ JavaScript ਵਸਤੂ ਵਿੱਚ ਬਦਲਣ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਹੱਲ ਵਿੱਚ ਮਹੱਤਵਪੂਰਨ ਹੈ ਕਿ ਡੇਟਾ ਬ੍ਰਾਊਜ਼ਰ 'ਤੇ ਸਿੱਧੇ ਦਿਖਾਈ ਦਿੱਤੇ ਬਿਨਾਂ ਕਲਾਇੰਟ-ਸਾਈਡ ਸਕ੍ਰਿਪਟ ਵਿੱਚ ਵਰਤੋਂ ਯੋਗ ਹੈ। |
fetch() | ਇਹ Fetch API ਦਾ ਹਿੱਸਾ ਹੈ, HTTP ਬੇਨਤੀਆਂ ਕਰਨ ਦਾ ਇੱਕ ਆਧੁਨਿਕ ਤਰੀਕਾ। ਇਹ XMLHttpRequest ਦੇ ਮੁਕਾਬਲੇ ਬੇਨਤੀਆਂ ਭੇਜਣ ਅਤੇ ਜਵਾਬਾਂ ਨੂੰ ਸੰਭਾਲਣ ਨੂੰ ਸਰਲ ਬਣਾਉਂਦਾ ਹੈ। ਇੱਥੇ, ਇਸਦੀ ਵਰਤੋਂ ਸਰਵਰ ਨੂੰ ਡੇਟਾ ਭੇਜਣ ਅਤੇ ਬਦਲੇ ਵਿੱਚ JSON-ਫਾਰਮੈਟਡ ਡੇਟਾ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। |
headers: {'Content-Type': 'application/x-www-form-urlencoded'} | ਇਹ Fetch API ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੀਤੀ ਇੱਕ POST ਬੇਨਤੀ ਲਈ ਸਿਰਲੇਖ ਸੈੱਟ ਕਰਦਾ ਹੈ। ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਸਰਵਰ ਭੇਜੇ ਗਏ ਡੇਟਾ ਦੀ ਸਹੀ ਵਿਆਖਿਆ ਕਰਦਾ ਹੈ, ਜੋ ਕਿ URL ਫਾਰਮ (ਕੁੰਜੀ-ਮੁੱਲ ਜੋੜੇ) ਵਿੱਚ ਏਨਕੋਡ ਕੀਤਾ ਗਿਆ ਹੈ. ਇਹ ਸਹੀ ਸਰਵਰ ਸੰਚਾਰ ਲਈ ਜ਼ਰੂਰੀ ਹੈ. |
mysqli->mysqli->connect_error | ਇਹ PHP ਵਿਸ਼ੇਸ਼ਤਾ ਡੇਟਾਬੇਸ ਨਾਲ ਜੁੜਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਵੇਲੇ ਕੁਨੈਕਸ਼ਨ ਸਮੱਸਿਆਵਾਂ ਦਾ ਪਤਾ ਲਗਾਉਣ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਹੈ। ਇਸ ਸਮੱਸਿਆ ਦੇ ਸੰਦਰਭ ਵਿੱਚ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਸਕ੍ਰਿਪਟ ਡੇਟਾਬੇਸ ਕਨੈਕਸ਼ਨ ਅਸਫਲਤਾਵਾਂ ਨੂੰ ਸੁੰਦਰਤਾ ਨਾਲ ਸੰਭਾਲਦੀ ਹੈ ਅਤੇ ਇੱਕ ਅਰਥਪੂਰਨ ਗਲਤੀ ਸੁਨੇਹਾ ਆਊਟਪੁੱਟ ਕਰਦੀ ਹੈ। |
json_encode() | ਇਹ PHP ਫੰਕਸ਼ਨ ਇਸ ਹੱਲ ਵਿੱਚ ਮਹੱਤਵਪੂਰਨ ਹੈ ਕਿਉਂਕਿ ਇਹ PHP ਐਸੋਸੀਏਟਿਵ ਐਰੇ (ਡੇਟਾਬੇਸ ਤੋਂ ਪ੍ਰਾਪਤ) ਨੂੰ JSON ਸਤਰ ਵਿੱਚ ਬਦਲਦਾ ਹੈ। ਇਹ ਸਤਰ ਫਿਰ ਪ੍ਰਕਿਰਿਆ ਲਈ ਕਲਾਇੰਟ-ਸਾਈਡ JavaScript ਦੇ ਜਵਾਬ ਵਜੋਂ ਵਾਪਸ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। |
onreadystatechange | XMLHttpRequest ਦਾ ਇੱਕ ਬਿਲਟ-ਇਨ ਇਵੈਂਟ ਹੈਂਡਲਰ। ਇਹ ਬੇਨਤੀ ਦੀ ਤਿਆਰ ਸਥਿਤੀ ਦੀ ਨਿਗਰਾਨੀ ਕਰਦਾ ਹੈ। ਇਸ ਸੰਦਰਭ ਵਿੱਚ, ਇਸਦੀ ਵਰਤੋਂ ਇਹ ਨਿਰਧਾਰਤ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਕਿ ਬੇਨਤੀ ਪੂਰੀ ਤਰ੍ਹਾਂ ਕਦੋਂ ਪੂਰੀ ਹੋ ਜਾਂਦੀ ਹੈ (ਸਟੇਟ 4) ਅਤੇ ਕਦੋਂ ਜਵਾਬ 'ਤੇ ਕਾਰਵਾਈ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ। |
.then() | ਇਹ Fetch API ਦੇ ਵਾਅਦੇ-ਅਧਾਰਿਤ ਢਾਂਚੇ ਤੋਂ ਇੱਕ ਢੰਗ ਹੈ। ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਬੇਨਤੀ ਦੇ ਸਫਲ ਹੋਣ ਤੋਂ ਬਾਅਦ, .then() ਫੰਕਸ਼ਨ ਜਵਾਬ ਨੂੰ ਸੰਭਾਲਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ JSON ਡੇਟਾ ਨੂੰ ਪਾਰਸ ਕਰਨਾ। ਇਹ ਅਸਿੰਕ੍ਰੋਨਸ ਬੇਨਤੀ ਹੈਂਡਲਿੰਗ ਨੂੰ ਸਰਲ ਬਣਾਉਂਦਾ ਹੈ। |
XMLHttpRequest ਦੀ ਵਰਤੋਂ ਕਰਕੇ PHP ਤੋਂ JavaScript ਨੂੰ ਸੁਰੱਖਿਅਤ ਢੰਗ ਨਾਲ ਡਾਟਾ ਪਾਸ ਕਰਨਾ
ਉੱਪਰ ਦਿੱਤਾ ਗਿਆ ਹੱਲ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਬ੍ਰਾਊਜ਼ਰ 'ਤੇ ਸਿੱਧੇ ਪ੍ਰਦਰਸ਼ਿਤ ਕੀਤੇ ਬਿਨਾਂ PHP ਬੈਕਐਂਡ ਤੋਂ JavaScript ਵਿੱਚ ਡੇਟਾ ਕਿਵੇਂ ਪਾਸ ਕਰਨਾ ਹੈ। ਇਹ ਵਿਸ਼ੇਸ਼ ਤੌਰ 'ਤੇ ਲਾਭਦਾਇਕ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਉਸ ਡੇਟਾ ਨੂੰ ਸੰਭਾਲਦੇ ਹੋਏ ਜੋ ਸਿਰਫ ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਲਈ ਅਗਲੇਰੀ ਪ੍ਰਕਿਰਿਆ ਲਈ ਉਪਲਬਧ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ ਗਤੀਸ਼ੀਲ ਸਮੱਗਰੀ ਨੂੰ ਪੇਸ਼ ਕਰਨਾ ਜਾਂ ਉਪਭੋਗਤਾ ਇੰਟਰੈਕਸ਼ਨਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨਾ। ਇੱਥੇ ਕੁੰਜੀ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੀ ਹੈ XMLHttp ਬੇਨਤੀ ਅਸਿੰਕ੍ਰੋਨਸ ਤੌਰ 'ਤੇ ਡਾਟਾ ਭੇਜਣ ਅਤੇ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਵਸਤੂ। ਇਹ ਕਲਾਇੰਟ ਨੂੰ ਬੈਕਗ੍ਰਾਉਂਡ ਵਿੱਚ ਸਰਵਰ ਤੋਂ ਡੇਟਾ ਦੀ ਬੇਨਤੀ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਇੱਕ ਪੰਨੇ ਨੂੰ ਮੁੜ ਲੋਡ ਕਰਨ ਤੋਂ ਬਚਦਾ ਹੈ ਅਤੇ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਸੰਵੇਦਨਸ਼ੀਲ ਡੇਟਾ ਸਿੱਧੇ ਉਪਭੋਗਤਾ ਨੂੰ HTML ਵਿੱਚ ਪ੍ਰਗਟ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
PHP ਸਕ੍ਰਿਪਟ MySQL ਡੇਟਾਬੇਸ ਨਾਲ ਜੁੜਦੀ ਹੈ ਅਤੇ ਲੋੜੀਂਦੀ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਕਰਦੀ ਹੈ, ਜਿਸ ਨੂੰ ਫਿਰ JSON ਫਾਰਮੈਟ ਵਿੱਚ ਏਨਕੋਡ ਕੀਤਾ ਜਾਂਦਾ ਹੈ json_encode ਫੰਕਸ਼ਨ. JSON ਇਸ ਵਰਤੋਂ ਦੇ ਕੇਸ ਲਈ ਆਦਰਸ਼ ਹੈ ਕਿਉਂਕਿ ਇਹ ਹਲਕਾ ਹੈ ਅਤੇ JavaScript ਦੁਆਰਾ ਆਸਾਨੀ ਨਾਲ ਪਾਰਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। JSON ਜਵਾਬ ਨੂੰ ਕਲਾਇੰਟ-ਸਾਈਡ ਸਕ੍ਰਿਪਟ 'ਤੇ ਵਾਪਸ ਭੇਜਿਆ ਜਾਂਦਾ ਹੈ, ਜੋ ਸਰਵਰ ਦੇ ਜਵਾਬ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਸੁਣਦਾ ਹੈ ਆਨਰੇਡੀਸਟੇਟਬਦਲ ਘਟਨਾ ਹੈਂਡਲਰ. ਜਦੋਂ ਸਰਵਰ ਇਹ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਜਵਾਬ ਤਿਆਰ ਹੈ (ਜਦੋਂ ਰੈਡੀਸਟੇਟ 4 ਤੱਕ ਪਹੁੰਚਦਾ ਹੈ ਅਤੇ ਸਥਿਤੀ 200 ਹੁੰਦੀ ਹੈ) ਤਾਂ ਡੇਟਾ ਨੂੰ ਕੈਪਚਰ ਅਤੇ ਪ੍ਰੋਸੈਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
ਇੱਕ ਵਾਰ JavaScript ਡਾਟਾ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ, JSON.parse() ਵਿਧੀ JSON ਸਤਰ ਨੂੰ JavaScript ਵਸਤੂ ਵਿੱਚ ਬਦਲਣ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਹੈ। ਇਹ ਕਦਮ ਨਾਜ਼ੁਕ ਹੈ ਕਿਉਂਕਿ ਇਹ ਸਕ੍ਰਿਪਟ ਦੇ ਅੰਦਰ ਡੇਟਾ ਨੂੰ ਹੇਰਾਫੇਰੀ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ, ਇਸ ਨੂੰ ਪੰਨੇ 'ਤੇ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਨ ਜਾਂ ਉਪਭੋਗਤਾ ਨੂੰ ਇਸ ਨੂੰ ਪ੍ਰਗਟ ਕਰਨ ਦੀ ਲੋੜ ਤੋਂ ਬਿਨਾਂ। JavaScript ਦੀ ਲਚਕਤਾ ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਵੱਖ-ਵੱਖ ਤਰੀਕਿਆਂ ਨਾਲ ਡੇਟਾ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੀ ਹੈ, ਜਿਵੇਂ ਕਿ DOM ਨੂੰ ਅੱਪਡੇਟ ਕਰਨਾ, ਉਪਭੋਗਤਾ ਇੰਟਰੈਕਸ਼ਨਾਂ ਨੂੰ ਸੰਭਾਲਣਾ, ਜਾਂ ਪ੍ਰਾਪਤ ਕੀਤੇ ਡੇਟਾ ਦੇ ਆਧਾਰ 'ਤੇ ਵਾਧੂ ਅਸਿੰਕਰੋਨਸ ਬੇਨਤੀਆਂ ਕਰਨਾ।
Fetch API ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਵਿਕਲਪਕ ਪਹੁੰਚ ਵਿੱਚ, HTTP ਬੇਨਤੀਆਂ ਕਰਨ ਲਈ ਇੱਕ ਵਧੇਰੇ ਆਧੁਨਿਕ ਅਤੇ ਸਰਲ ਢੰਗ ਨੂੰ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। Fetch API ਵਾਅਦਾ-ਆਧਾਰਿਤ ਹੈ, ਜੋ ਅਸਿੰਕ੍ਰੋਨਸ ਓਪਰੇਸ਼ਨਾਂ ਨਾਲ ਕੰਮ ਕਰਨਾ ਆਸਾਨ ਬਣਾਉਂਦਾ ਹੈ। ਦੇ ਮੁਕਾਬਲੇ ਇਹ ਇੱਕ ਕਲੀਨਰ ਅਤੇ ਵਧੇਰੇ ਪੜ੍ਹਨਯੋਗ ਸੰਟੈਕਸ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ XMLHttp ਬੇਨਤੀ. ਦੋਵੇਂ ਪਹੁੰਚ, ਹਾਲਾਂਕਿ, ਇੱਕੋ ਟੀਚੇ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਦੇ ਹਨ: ਇਹ ਯਕੀਨੀ ਬਣਾਉਣਾ ਕਿ ਡੇਟਾ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ 'ਤੇ ਰੈਂਡਰ ਕੀਤੇ ਬਿਨਾਂ JavaScript ਦੁਆਰਾ ਸੁਰੱਖਿਅਤ ਢੰਗ ਨਾਲ ਪ੍ਰੋਸੈਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਸੰਭਾਲਿਆ ਜਾਂਦਾ ਹੈ। ਇਸ ਤੋਂ ਇਲਾਵਾ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਗਲਤੀ ਹੈਂਡਲਿੰਗ ਨੂੰ ਬਣਾਇਆ ਗਿਆ ਹੈ ਕਿ ਜੇਕਰ ਕੋਈ ਸਮੱਸਿਆ ਪੈਦਾ ਹੁੰਦੀ ਹੈ (ਉਦਾਹਰਨ ਲਈ, ਅਸਫਲ ਸਰਵਰ ਕਨੈਕਸ਼ਨ ਜਾਂ ਅਵੈਧ ਡੇਟਾ), ਉਚਿਤ ਗਲਤੀ ਸੁਨੇਹੇ ਵਾਪਸ ਕੀਤੇ ਜਾਂਦੇ ਹਨ ਅਤੇ ਲੌਗ ਕੀਤੇ ਜਾਂਦੇ ਹਨ।
PHP ਅਤੇ JSON ਜਵਾਬ ਦੇ ਨਾਲ XMLHttpRequest ਦੀ ਵਰਤੋਂ ਕਰਨਾ
ਇਹ ਵਿਧੀ ਇੱਕ ਡੇਟਾਬੇਸ ਤੋਂ ਡੇਟਾ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ PHP ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ ਅਤੇ JavaScript ਵਿੱਚ XMLHttpRequest ਰਾਹੀਂ JSON ਵਜੋਂ ਵਾਪਸ ਕਰਦੀ ਹੈ। JSON ਡੇਟਾ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ 'ਤੇ ਦਿਖਾਈ ਦੇਣ ਤੋਂ ਬਿਨਾਂ JavaScript ਵਿੱਚ ਪ੍ਰੋਸੈਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
// Frontend: HTML + JavaScript code
<button id="fetchDataBtn">Fetch Data</button>
<script>
document.getElementById('fetchDataBtn').addEventListener('click', function() {
var xhr = new XMLHttpRequest();
xhr.open('POST', 'fetch_data.php', true);
xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
var data = JSON.parse(xhr.responseText);
console.log(data); // Data is available here, not visible to the user
}
};
xhr.send('request=true');
});
</script>
ਬੈਕਐਂਡ: JSON ਡੇਟਾ ਭੇਜਣ ਲਈ PHP ਸਕ੍ਰਿਪਟ
ਇਹ PHP ਬੈਕਐਂਡ ਸਕ੍ਰਿਪਟ (fetch_data.php) ਹੈ ਜੋ ਡੇਟਾਬੇਸ ਤੋਂ ਡੇਟਾ ਲਿਆਉਂਦੀ ਹੈ ਅਤੇ ਇਸਨੂੰ JSON ਫਾਰਮੈਟ ਵਿੱਚ ਵਾਪਸ ਕਰਦੀ ਹੈ।
<?php
// Backend: PHP + MySQL code
if (isset($_POST['request']) && $_POST['request'] == 'true') {
// Example: Fetch data from database
$conn = new mysqli('localhost', 'root', '', 'testdb');
if ($conn->connect_error) {
die('Connection failed: ' . $conn->connect_error);
}
$sql = "SELECT * FROM users LIMIT 1";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
echo json_encode($row);
} else {
echo json_encode(['error' => 'No data found']);
}
$conn->close();
}
?>
ਕਲੀਨਰ ਪਹੁੰਚ ਲਈ ਫੈਚ API ਨਾਲ ਡਾਟਾ ਪ੍ਰਾਪਤ ਕਰਨਾ
ਇਹ ਸੰਸਕਰਣ Fetch API ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ, XMLHttpRequest ਦਾ ਇੱਕ ਆਧੁਨਿਕ ਵਿਕਲਪ, ਅਸਿੰਕ੍ਰੋਨਸ ਤੌਰ 'ਤੇ JSON ਡੇਟਾ ਨੂੰ ਭੇਜਣ ਅਤੇ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ।
// Frontend: HTML + JavaScript code using Fetch API
<button id="fetchDataBtn">Fetch Data with Fetch API</button>
<script>
document.getElementById('fetchDataBtn').addEventListener('click', function() {
fetch('fetch_data.php', {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
body: 'request=true'
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
});
</script>
ਬੈਕਐਂਡ: ਫੇਚ API ਲਈ PHP ਸਕ੍ਰਿਪਟ
PHP ਕੋਡ Fetch API ਲਈ ਇੱਕੋ ਜਿਹਾ ਰਹਿੰਦਾ ਹੈ, ਕਿਉਂਕਿ ਇਹ ਅਜੇ ਵੀ ਬੇਨਤੀ ਕੀਤੇ ਜਾਣ 'ਤੇ JSON ਡੇਟਾ ਵਾਪਸ ਕਰਦਾ ਹੈ।
<?php
// Backend: PHP + MySQL code (same as previous example)
if (isset($_POST['request']) && $_POST['request'] == 'true') {
$conn = new mysqli('localhost', 'root', '', 'testdb');
if ($conn->connect_error) {
die('Connection failed: ' . $conn->connect_error);
}
$sql = "SELECT * FROM users LIMIT 1";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
echo json_encode($row);
} else {
echo json_encode(['error' => 'No data found']);
}
$conn->close();
}
?>
AJAX ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ PHP ਅਤੇ JavaScript ਵਿਚਕਾਰ ਪ੍ਰਭਾਵੀ ਡਾਟਾ ਟ੍ਰਾਂਸਫਰ
PHP ਤੋਂ JavaScript ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ 'ਤੇ ਪ੍ਰਦਰਸ਼ਿਤ ਕੀਤੇ ਬਿਨਾਂ ਸੁਰੱਖਿਅਤ ਢੰਗ ਨਾਲ ਡਾਟਾ ਭੇਜਣ ਦਾ ਇੱਕ ਹੋਰ ਤਰੀਕਾ ਸੈਸ਼ਨ ਪ੍ਰਬੰਧਨ ਦੇ ਨਾਲ AJAX ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਹੈ। ਡੇਟਾ ਨੂੰ ਸਿੱਧੇ ਗੂੰਜਣ ਜਾਂ ਇਸ ਨੂੰ JavaScript ਵਿੱਚ ਏਮਬੈਡ ਕਰਨ ਦੀ ਬਜਾਏ, ਇੱਕ ਵਧੇਰੇ ਸੁਰੱਖਿਅਤ ਤਰੀਕਾ ਹੈ ਇੱਕ PHP ਸੈਸ਼ਨ ਵਿੱਚ ਅਸਥਾਈ ਤੌਰ 'ਤੇ ਡੇਟਾ ਨੂੰ ਸਟੋਰ ਕਰਨਾ। ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਸੰਵੇਦਨਸ਼ੀਲ ਡੇਟਾ ਸਿੱਧੇ ਤੌਰ 'ਤੇ ਸਾਹਮਣੇ ਨਹੀਂ ਆਉਂਦਾ ਹੈ ਅਤੇ ਲੋੜ ਅਨੁਸਾਰ JavaScript ਦੁਆਰਾ ਮੁੜ ਪ੍ਰਾਪਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
ਇਸ ਦ੍ਰਿਸ਼ ਵਿੱਚ, ਜਦੋਂ ਇੱਕ ਉਪਭੋਗਤਾ ਇੱਕ XMLHttpRequest ਭੇਜਦਾ ਹੈ, ਸਰਵਰ ਬੇਨਤੀ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਦਾ ਹੈ, ਲੋੜੀਂਦਾ ਡੇਟਾ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ, ਅਤੇ ਇਸਨੂੰ ਇੱਕ ਸੈਸ਼ਨ ਵਿੱਚ ਸਟੋਰ ਕਰਦਾ ਹੈ। ਕਲਾਇੰਟ-ਸਾਈਡ JavaScript ਫਿਰ ਇਸ ਡੇਟਾ ਨੂੰ HTML ਵਿੱਚ ਰੈਂਡਰ ਕੀਤੇ ਬਿਨਾਂ ਬੇਨਤੀ ਕਰ ਸਕਦਾ ਹੈ। ਇਹ ਨਾ ਸਿਰਫ਼ ਸੁਰੱਖਿਆ ਵਿੱਚ ਸੁਧਾਰ ਕਰਦਾ ਹੈ ਸਗੋਂ HTML ਜਾਂ JavaScript ਵਿੱਚ ਸਿੱਧੇ ਤੌਰ 'ਤੇ ਡੇਟਾ ਨੂੰ ਏਮਬੈਡ ਕਰਨ ਵੇਲੇ ਬੇਲੋੜੀ ਫਾਰਮੈਟਿੰਗ ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਵੀ ਰੋਕਦਾ ਹੈ। ਸੈਸ਼ਨ ਖਾਸ ਤੌਰ 'ਤੇ ਵੱਡੇ ਡੇਟਾਸੈਟਾਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਜਾਂ ਜਦੋਂ ਡੇਟਾ ਨੂੰ ਕਈ ਬੇਨਤੀਆਂ ਵਿੱਚ ਜਾਰੀ ਰਹਿਣ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਲਈ ਉਪਯੋਗੀ ਹੁੰਦੇ ਹਨ।
ਇਕ ਹੋਰ ਨਾਜ਼ੁਕ ਪਹਿਲੂ ਸਹੀ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣਾ ਹੈ ਗਲਤੀ ਹੈਂਡਲਿੰਗ ਅਤੇ ਡਾਟਾ ਟ੍ਰਾਂਸਫਰ ਪ੍ਰਕਿਰਿਆ ਦੌਰਾਨ ਪ੍ਰਮਾਣਿਕਤਾ। ਸਰਵਰ-ਸਾਈਡ ਅਤੇ ਕਲਾਇੰਟ-ਸਾਈਡ ਦੋਵਾਂ 'ਤੇ ਜਾਂਚਾਂ ਨੂੰ ਲਾਗੂ ਕਰਕੇ, ਡਿਵੈਲਪਰ ਇਹ ਯਕੀਨੀ ਬਣਾ ਸਕਦੇ ਹਨ ਕਿ PHP ਦੁਆਰਾ ਵਾਪਸ ਕੀਤਾ ਗਿਆ ਡੇਟਾ ਸਹੀ ਅਤੇ ਸੰਭਾਵਿਤ ਫਾਰਮੈਟ ਵਿੱਚ ਹੈ। ਇਸ ਤੋਂ ਇਲਾਵਾ, ਵਰਗੇ ਸਾਧਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ CSRF ਟੋਕਨ ਜਾਂ ਸੈਸ਼ਨ ਪ੍ਰਬੰਧਨ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਸਿਰਫ ਅਧਿਕਾਰਤ ਬੇਨਤੀਆਂ ਹੀ ਸੰਵੇਦਨਸ਼ੀਲ ਡੇਟਾ ਤੱਕ ਪਹੁੰਚ ਕਰਦੀਆਂ ਹਨ, ਇਸ ਪਹੁੰਚ ਨੂੰ ਵਧੇਰੇ ਸੁਰੱਖਿਅਤ ਅਤੇ ਭਰੋਸੇਮੰਦ ਬਣਾਉਂਦਾ ਹੈ।
PHP ਤੋਂ JavaScript ਡੇਟਾ ਹੈਂਡਲਿੰਗ ਬਾਰੇ ਆਮ ਸਵਾਲ
- ਬ੍ਰਾਊਜ਼ਰ 'ਤੇ ਡੇਟਾ ਨੂੰ ਦਿਖਾਈ ਦੇਣ ਤੋਂ ਰੋਕਣ ਦਾ ਸਭ ਤੋਂ ਵਧੀਆ ਤਰੀਕਾ ਕੀ ਹੈ?
- ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ AJAX PHP ਤੋਂ JavaScript ਵਿੱਚ ਡੇਟਾ ਟ੍ਰਾਂਸਫਰ ਕਰਨਾ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਡੇਟਾ ਨੂੰ ਪੰਨੇ 'ਤੇ ਪ੍ਰਦਰਸ਼ਿਤ ਕੀਤੇ ਬਿਨਾਂ, ਬੈਕਗ੍ਰਾਉਂਡ ਵਿੱਚ ਹੈਂਡਲ ਕੀਤਾ ਗਿਆ ਹੈ।
- ਮੈਂ PHP ਤੋਂ JavaScript ਨੂੰ ਡੇਟਾ ਭੇਜਣ ਲਈ JSON ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰ ਸਕਦਾ ਹਾਂ?
- ਦ json_encode() PHP ਵਿੱਚ ਫੰਕਸ਼ਨ ਡੇਟਾ ਨੂੰ JSON ਫਾਰਮੈਟ ਵਿੱਚ ਬਦਲਦਾ ਹੈ, ਜਿਸਦੀ ਵਰਤੋਂ ਕਰਕੇ ਪਾਰਸ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ JSON.parse() JavaScript ਵਿੱਚ.
- XMLHttpRequest ਡੇਟਾ ਵਾਪਸ ਕਰਨ ਵਿੱਚ ਅਸਫਲ ਕਿਉਂ ਹੁੰਦਾ ਹੈ?
- ਇਹ ਅਕਸਰ ਹੁੰਦਾ ਹੈ ਜਦੋਂ responseText ਜਾਇਦਾਦ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਸੰਭਾਲਿਆ ਨਹੀਂ ਗਿਆ ਹੈ। ਯਕੀਨੀ ਬਣਾਓ ਕਿ PHP ਸਕ੍ਰਿਪਟ ਸਹੀ ਸਮੱਗਰੀ ਕਿਸਮ (ਐਪਲੀਕੇਸ਼ਨ/json) ਵਾਪਸ ਕਰਦੀ ਹੈ।
- ਕੀ ਕੂਕੀਜ਼ ਦੀ ਵਰਤੋਂ ਡਾਟਾ ਟ੍ਰਾਂਸਫਰ ਕਰਨ ਦਾ ਵਧੀਆ ਤਰੀਕਾ ਹੈ?
- ਆਕਾਰ ਦੀਆਂ ਸੀਮਾਵਾਂ ਅਤੇ ਸੁਰੱਖਿਆ ਚਿੰਤਾਵਾਂ ਦੇ ਕਾਰਨ ਕੂਕੀਜ਼ ਨੂੰ ਆਮ ਤੌਰ 'ਤੇ ਵੱਡੀ ਮਾਤਰਾ ਵਿੱਚ ਡੇਟਾ ਟ੍ਰਾਂਸਫਰ ਕਰਨ ਦੀ ਸਿਫਾਰਸ਼ ਨਹੀਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਸੈਸ਼ਨ ਜਾਂ AJAX ਵਧੇਰੇ ਸੁਰੱਖਿਅਤ ਵਿਕਲਪ ਹਨ।
- ਮੈਂ PHP ਅਤੇ JavaScript ਵਿਚਕਾਰ ਡੇਟਾ ਟ੍ਰਾਂਸਫਰ ਕਿਵੇਂ ਸੁਰੱਖਿਅਤ ਕਰ ਸਕਦਾ ਹਾਂ?
- ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ CSRF tokens ਜਾਂ ਸਰਵਰ-ਸਾਈਡ 'ਤੇ ਬੇਨਤੀਆਂ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰਨਾ PHP ਅਤੇ JavaScript ਵਿਚਕਾਰ ਸੁਰੱਖਿਅਤ ਡਾਟਾ ਟ੍ਰਾਂਸਫਰ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰ ਸਕਦਾ ਹੈ।
ਸੁਰੱਖਿਅਤ ਡੇਟਾ ਹੈਂਡਲਿੰਗ 'ਤੇ ਅੰਤਮ ਵਿਚਾਰ
PHP ਅਤੇ JavaScript ਏਕੀਕਰਣ ਚੁਣੌਤੀਪੂਰਨ ਹੋ ਸਕਦਾ ਹੈ, ਖਾਸ ਤੌਰ 'ਤੇ ਜਦੋਂ ਡੇਟਾ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ 'ਤੇ ਸਿੱਧੇ ਪ੍ਰਦਰਸ਼ਿਤ ਹੋਣ ਤੋਂ ਰੋਕਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ AJAX ਉਪਭੋਗਤਾ ਤੋਂ ਸੰਵੇਦਨਸ਼ੀਲ ਡੇਟਾ ਨੂੰ ਲੁਕਾਉਂਦੇ ਹੋਏ, ਬੈਕਗ੍ਰਾਉਂਡ ਵਿੱਚ ਟ੍ਰਾਂਸਫਰ ਸੁਰੱਖਿਅਤ ਢੰਗ ਨਾਲ ਹੋਣ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ।
ਸੰਯੋਗ XMLHttp ਬੇਨਤੀ ਜਾਂ PHP ਨਾਲ ਆਧੁਨਿਕ Fetch API ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਕੁਸ਼ਲਤਾ ਨਾਲ ਡਾਟਾ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ। JSON ਜਵਾਬਾਂ ਦਾ ਸਹੀ ਪ੍ਰਬੰਧਨ ਅਤੇ ਸੈਸ਼ਨ ਪ੍ਰਬੰਧਨ ਅਣਇੱਛਤ ਡਿਸਪਲੇ ਨੂੰ ਰੋਕਣ, ਵੈੱਬ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਅਨੁਕੂਲ ਸੁਰੱਖਿਆ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕੁੰਜੀ ਹੈ।
JavaScript ਡਾਟਾ ਟ੍ਰਾਂਸਫਰ ਲਈ PHP ਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰਨ ਲਈ ਹਵਾਲੇ ਅਤੇ ਸਰੋਤ
- ਨਾਲ ਡਾਟਾ ਸੰਭਾਲਣ ਬਾਰੇ ਡੂੰਘਾਈ ਨਾਲ ਜਾਣਕਾਰੀ ਲਈ XMLHttp ਬੇਨਤੀ ਅਤੇ PHP, AJAX ਅਤੇ ਇਸਦੇ ਵਧੀਆ ਅਭਿਆਸਾਂ 'ਤੇ ਇਸ ਗਾਈਡ ਨੂੰ ਵੇਖੋ: W3Schools AJAX ਜਾਣ-ਪਛਾਣ .
- ਵਰਤਣ ਬਾਰੇ ਹੋਰ ਜਾਣੋ JSON ਬੈਕਗ੍ਰਾਉਂਡ ਵਿੱਚ ਸੁਰੱਖਿਅਤ ਡੇਟਾ ਟ੍ਰਾਂਸਫਰ ਲਈ PHP ਅਤੇ JavaScript ਦੇ ਨਾਲ: PHP ਮੈਨੂਅਲ: json_encode() .
- PHP ਅਤੇ JavaScript ਵਿਚਕਾਰ ਡੇਟਾ ਨੂੰ ਉਪਭੋਗਤਾ ਨੂੰ ਪ੍ਰਗਟ ਕੀਤੇ ਬਿਨਾਂ ਸੁਰੱਖਿਅਤ ਢੰਗ ਨਾਲ ਪਾਸ ਕਰਨ ਬਾਰੇ ਇੱਕ ਉਪਯੋਗੀ ਲੇਖ: MDN ਵੈੱਬ ਡੌਕਸ: XMLHttpRequest .
- ਪ੍ਰਬੰਧਨ ਬਾਰੇ ਸੂਝ ਲਈ ਸੈਸ਼ਨ ਸੁਰੱਖਿਅਤ ਢੰਗ ਨਾਲ ਸੰਵੇਦਨਸ਼ੀਲ ਡੇਟਾ ਨੂੰ ਉਜਾਗਰ ਕਰਨ ਤੋਂ ਬਚਣ ਲਈ, ਵੇਖੋ: PHP ਸੈਸ਼ਨ ਦਸਤਾਵੇਜ਼ੀ .