आपका कोड दो पूरी तरह से अलग भागों में विभाजित है, सर्वर साइड और क्लाइंट साइड ।
|
---------->
HTTP request
|
+--------------+ | +--------------+
| | | | |
| browser | | | web server |
| (JavaScript) | | | (PHP etc.) |
| | | | |
+--------------+ | +--------------+
|
client side | server side
|
<----------
HTML, CSS, JavaScript
|
दो पक्ष HTTP अनुरोधों और प्रतिक्रियाओं के माध्यम से संवाद करते हैं। PHP को सर्वर पर निष्पादित किया जाता है और कुछ HTML और शायद जावास्क्रिप्ट कोड को आउटपुट करता है जिसे क्लाइंट को उस प्रतिक्रिया के रूप में भेजा जाता है जहां HTML की व्याख्या की जाती है और जावास्क्रिप्ट को निष्पादित किया जाता है। एक बार जब PHP ने प्रतिक्रिया देना शुरू कर दिया, तो स्क्रिप्ट समाप्त हो जाती है और सर्वर पर कुछ भी नहीं होता है जब तक कि एक नया HTTP अनुरोध नहीं आता है।
उदाहरण कोड इस तरह निष्पादित होता है:
<script type="text/javascript">
var foo = 'bar';
<?php
file_put_contents('foo.txt', ' + foo + ');
?>
var baz = <?php echo 42; ?>;
alert(baz);
</script>
चरण 1, PHP <?php ?>
टैग के बीच सभी कोड निष्पादित करता है । परिणाम यह है:
<script type="text/javascript">
var foo = 'bar';
var baz = 42;
alert(baz);
</script>
file_put_contents
कॉल कुछ भी में परिणाम नहीं था, यह सिर्फ एक फ़ाइल के भीतर "+ foo +" लिखा था। <?php echo 42; ?>
कॉल उत्पादन "42" है, जो स्थान जहां कि कोड हुआ करता था में है में हुई।
यह परिणामी HTML / JavaScript कोड अब क्लाइंट को भेजा जाता है, जहाँ उसका मूल्यांकन किया जाता है। alert
कॉल काम करता है, जबकि foo
चर कहीं भी नहीं किया जाता है।
सभी PHP कोड को सर्वर पर निष्पादित किया जाता है, इससे पहले कि क्लाइंट किसी भी जावास्क्रिप्ट को निष्पादित करना शुरू कर दे। जावास्क्रिप्ट के साथ बातचीत कर सकते हैं कि प्रतिक्रिया में कोई PHP कोड नहीं बचा है।
कुछ PHP कोड को कॉल करने के लिए, क्लाइंट को सर्वर पर एक नया HTTP अनुरोध भेजना होगा। यह तीन संभावित तरीकों में से एक का उपयोग करके हो सकता है:
- एक लिंक, जो ब्राउज़र को एक नया पृष्ठ लोड करने का कारण बनता है।
- एक फॉर्म सबमिशन, जो सर्वर को डेटा सबमिट करता है और एक नया पेज लोड करता है।
- एक AJAX अनुरोध है, जो एक जावास्क्रिप्ट तकनीक है (1. और 2. होगा) की तरह है, लेकिन मौजूदा पृष्ठ को छोड़े बिना सर्वर के लिए एक नियमित रूप से HTTP अनुरोध बनाने के लिए।
यहां इन पद्धति को अधिक विस्तार से रेखांकित किया गया है
आप ब्राउज़र का उपयोग window.location
कर एक नया पेज खोलने के लिए जावास्क्रिप्ट का उपयोग कर सकते हैं या एक फॉर्म सबमिट कर सकते हैं, संभावनाओं 1 और 2 का अनुकरण कर सकते हैं।
window.open
एक iframe का उपयोग करके पृष्ठ का उपयोग करके या लोड करके दूसरा पृष्ठ भी खोल सकते हैं ।