PHP से JavaScript में डेटा ट्रांसफर करना: उदाहरणों के साथ पूरी गाइड

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

PHP से JavaScript में डेटा कैसे भेजें: सामान्य सवाल और जवाब

\n\n

क्या आपने कभी PHP स्क्रिप्ट लिखी, डेटाबेस से डेटा का एक ऐरे जेनरेट किया, और फिर घबराहट में पाया कि उसी पेज पर मौजूद JavaScript कोड को इसके बारे में कुछ पता नहीं है? यह एक जानी-पहचानी समस्या है। PHP सर्वर पर काम करता है, JavaScript यूज़र के ब्राउज़र में। ये दो अलग-अलग दुनिया हैं, जो समय और स्थान से बंटी हुई हैं। लेकिन इन्हें दोस्त कैसे बनाया जाए? PHP से JavaScript में वेरिएबल और डेटा कैसे ट्रांसफर करें?

\n\n

यह टॉपिक Stack Overflow पर सबसे लोकप्रिय सवालों में से एक है (हज़ारों व्यूज़!)। और यह सही भी है: सर्वर-साइड और क्लाइंट-साइड कोड के बीच इंटरैक्शन किसी भी वेब डेवलपर के लिए एक बुनियादी स्किल है। इस आर्टिकल में हम PHP से JavaScript में डेटा भेजने के 5 सिद्ध तरीकों पर चर्चा करेंगे, सिंपल से लेकर एडवांस्ड तक। चलिए शुरू करते हैं!

\n\n

PHP और JavaScript आपस में बात क्यों नहीं कर सकते?

\n\n

कोड में गोता लगाने से पहले, आर्किटेक्चर को समझ लेते हैं। जब कोई यूज़र पेज रिक्वेस्ट करता है, तो यह प्रक्रिया होती है:

\n\n
    \n
  1. सर्वर PHP स्क्रिप्ट को एक्ज़ीक्यूट करता है।
  2. \n
  3. PHP HTML जेनरेट करता है (और उसमें JavaScript डाल सकता है)।
  4. \n
  5. सर्वर तैयार HTML कोड ब्राउज़र को भेजता है।
  6. \n
  7. ब्राउज़र पेज रेंडर करता है और JavaScript को एक्ज़ीक्यूट करता है।
  8. \n
\n\n

मुख्य बात: PHP उससे पहले एक्ज़ीक्यूट हो जाता है जब JavaScript पेज को देखता है। इसलिए PHP से JavaScript में वेरिएबल ट्रांसफर सिर्फ HTML जेनरेशन के स्टेज पर ही संभव है। JavaScript पेज लोड होने के बाद PHP से डेटा "मांग" नहीं सकता (इसके लिए AJAX है, लेकिन वह अलग कहानी है)।

\n\n

तरीका 1: PHP को सीधे JavaScript में एम्बेड करना (सबसे आसान)

\n\n

सबसे आसान तरीका है PHP वेरिएबल को सीधे JavaScript कोड में प्रिंट करना, जो सर्वर द्वारा जेनरेट किया जाता है। उदाहरण:

\n\n
<?php\n$userName = "राहुल";\n$userAge = 28;\n?>\n\n<script>\n    var name = "<?php echo $userName; ?>";\n    var age = <?php echo $userAge; ?>;\n    console.log("नमस्ते, " + name + "! आप " + age + " साल के हैं।");\n</script>\n
\n\n

काम करता है? हाँ। सुंदर है? नहीं। नुकसान स्पष्ट हैं:

\n
    \n
  • कोड गंदा और पढ़ने में मुश्किल हो जाता है।
  • \n
  • अगर वेरिएबल में कोट्स या HTML टैग हों, तो JavaScript में सिंटैक्स एरर होगी।
  • \n
  • सुरक्षा? भूल जाइए: XSS अटैक आपका शुक्रिया अदा करेंगे।
  • \n
\n\n

यह तरीका सिर्फ सिंपल स्ट्रिंग्स बिना स्पेशल कैरेक्टर्स (जैसे रिकॉर्ड ID या पेज नंबर) के लिए उपयुक्त है। बाकी सबके लिए नीचे दिए गए तरीकों का उपयोग करें।

\n\n

तरीका 2: JSON — डेटा ट्रांसफर का राजा

\n\n

JSON (JavaScript Object Notation) सर्वर और क्लाइंट के बीच डेटा एक्सचेंज का मानक फॉर्मेट है। PHP एक फंक्शन json_encode() से किसी भी ऐरे या ऑब्जेक्ट को JSON में बदल सकता है। JavaScript आसानी से JSON को पार्स कर लेता है।

\n\n

उदाहरण: PHP से JavaScript में यूज़र्स का ऐरे भेजना।

\n\n
<?php\n$users = [\n    ['name' => 'अमित', 'age' => 25],\n    ['name' => 'सीमा', 'age' => 30],\n    ['name' => 'राज', 'age' => 35]\n];\n$jsonUsers = json_encode($users, JSON_UNESCAPED_UNICODE);\n?>\n\n<script>\n    var users = <?php echo $jsonUsers; ?>;\n    console.log(users[0].name); // "अमित"\n    console.log(users.length); // 3\n</script>\n
\n\n

यह क्यों शानदार है?

\n
    \n
  • सुरक्षित: json_encode() अपने आप स्पेशल कैरेक्टर्स को एस्केप करता है।
  • \n
  • सार्वभौमिक: स्ट्रिंग्स, नंबर, ऐरे, ऑब्जेक्ट, बूलियन वैल्यू — सब कुछ भेज सकते हैं।
  • \n
  • साफ: कोड पढ़ने और मेंटेन करने में आसान है।
  • \n
\n\n

एकमात्र कमी यह है कि डेटा सीधे पेज के HTML कोड में एम्बेड हो जाता है। अगर डेटा बहुत ज्यादा है, तो पेज भारी हो सकता है। लेकिन ज्यादातर कामों के लिए यह सबसे अच्छा विकल्प है।

\n\n

तरीका 3: data-एट्रीब्यूट्स HTML (DOM के जरिए ट्रांसफर)

\n\n

कभी-कभी आपको डेटा किसी खास एलिमेंट से जुड़ा हुआ भेजना होता है। उदाहरण के लिए, एक बटन पर क्लिक करने पर यूज़र का डेटा भेजना। इसके लिए HTML5 के data-एट्रीब्यूट्स का उपयोग करें।

ब्लॉग

पुस्तक अनुशंसाएँ