যতদূর পিএইচপি সম্পর্কিত (বা সত্যই, সাধারণভাবে একটি ওয়েব সার্ভার), একটি HTML পৃষ্ঠা বড় স্ট্রিংয়ের চেয়ে জটিল কিছুই নয়।
পিএইচপি এর মতো ভাষার সাথে আপনি করতে পারেন এমন সমস্ত অভিনব কাজ - ডাটাবেসগুলি এবং ওয়েব পরিষেবাদি থেকে পড়া এবং যা - চূড়ান্ত শেষ লক্ষ্যটি একই একই মূল নীতি: এইচটিএমএল * এর একটি স্ট্রিং উত্পন্ন করে।
আপনার বড় এইচটিএমএল স্ট্রিং এটি কোনও ওয়েব ব্রাউজার দ্বারা লোড না হওয়া অবধি তার চেয়ে বেশি বিশেষ কিছু হয়ে ওঠে না। ব্রাউজারটি একবার পৃষ্ঠাটি লোড করে, তারপরে অন্য সমস্ত যাদু ঘটে যায় - লেআউট, বক্স মডেল স্টাফ, ডিওএম জেনারেশন এবং জাভাস্ক্রিপ্ট কার্যকরকরণ সহ আরও অনেক কিছু।
সুতরাং, আপনি "পিএইচপি থেকে জাভাস্ক্রিপ্ট কল করবেন না", আপনি "আপনার আউটপুটে একটি জাভাস্ক্রিপ্ট ফাংশন কল অন্তর্ভুক্ত করবেন"।
এটি করার বিভিন্ন উপায় রয়েছে তবে এখানে একটি দম্পতি রয়েছে।
কেবল পিএইচপি ব্যবহার:
echo '<script type="text/javascript">',
'jsfunction();',
'</script>'
;
পিএইচপি মোড থেকে সরাসরি আউটপুট মোডে পালাচ্ছে:
<?php
// some php stuff
?>
<script type="text/javascript">
jsFunction();
</script>
আপনার কোনও ফাংশনের নাম বা এর মতো কিছু ফেরত দেওয়ার দরকার নেই। প্রথমত, হাত দিয়ে এজেএক্স অনুরোধগুলি লেখা বন্ধ করুন। আপনি কেবল নিজের উপর এটিকে শক্ত করে তুলছেন। JQuery বা অন্য একটি চমৎকার ফ্রেমওয়ার্ক এখানে পান।
দ্বিতীয়ত, বুঝতে হবে যে আপনি ইতিমধ্যে জাভাস্ক্রিপ্ট কোডটি সম্পাদন করতে যাচ্ছেন একবার এজেএক্স কল থেকে প্রতিক্রিয়া পাওয়া গেছে।
আপনি jQuery এর AJAX এর সাথে কি করছেন বলে আমি মনে করি তার একটি উদাহরণ এখানে
$.get(
'wait.php',
{},
function(returnedData) {
document.getElementById("txt").innerHTML = returnedData;
// Ok, here's where you can call another function
someOtherFunctionYouWantToCall();
// But unless you really need to, you don't have to
// We're already in the middle of a function execution
// right here, so you might as well put your code here
},
'text'
);
function someOtherFunctionYouWantToCall() {
// stuff
}
এখন, যদি আপনি পিএইচপি থেকে অ্যাজাক্স কলটিতে কোনও ফাংশন নাম প্রেরণে মারা গেছেন, আপনি এটিও করতে পারেন।
$.get(
'wait.php',
{},
function(returnedData) {
// Assumes returnedData has a javascript function name
window[returnedData]();
},
'text'
);
* বা জেএসএন বা এক্সএমএল ইত্যাদি