تا به حال نیاز پیدا کرده اید که یک متغیر ، آرایه و یا ابجکت را از PHP به JavaScript منتقل کرده و از آن استفاده کنید؟شاید کمی پیچیده به نظر برسد ولی راهی برای انجام آن هست که همیشه کار می کند و خیلی آسان است.
فرض کنید این متغیر را در php داریم
$name = 'Ali Zamani';
و می خواهیم مقدار آن را به یک متغیر در جاوا اسکریپت بنام name منتقل کنیم . ترفند کار به این شکل است
echo '<script>'; echo 'var name = ' . json_encode($name) . ';'; echo '</script>';
با استفاده از تابع json_encode()
شما همیشه می توانید انواع متغیرهای php را به درستی به JavaScript بفرستید و از آن استفاده کنید.
حالا در یک مثال دیگر می خواهیم یک آرایه php را به جاوا اسکریپت بفرستیم . باز از ترفند بالا استفاده می کنیم
$shirt = array( 'color' => 'blue', 'number' => 23, 'size' => 'XL' ); echo '<script>'; echo 'var shirt = ' . json_encode($shirt) . ';'; echo '</script>';
اگر خروجی کد را مشاهده کنید به این شکل خواهد بود
<script>var shirt = {"color":"blue","number":23,"size":"XL"}</script>
حالا ممکن است نخواهید همه داده ها در یک سطر قرار بگیرند و می خواهید خواناتر باشند.کافیست به جای کد بالا از این کد استفاده کنید
echo "<script>\n"; echo 'var shirt = ' . json_encode($shirt, JSON_PRETTY_PRINT) . ';'; echo "\n</script>";
همانطور که می بینید در کد بالا پارامتر JSON_PRETTY_PRINT
را نیز به تایع پاس داده ایم تا خروجی کار بهتر شود . پس نتیجه به این شکل خواهد بود
<script> var shirt = { "color": "blue", "number": 1000, "size": "XL" }; </script>
یک ترفند ساده ، با این وجود پرکاربرد . شما چه راه های دیگری برای این کار می شناسید ؟ اگر سوالی دارید می توانید در بخش سوالات بپرسید
سلام ممنون از مطالب خوبتون
چه جوری میشه یک مقدار js را در متغییر php قرار داد.
ممنون
سلام ممنون از مطالب خوبتون
حالا چجور میشه یه متغیر رو از جی کوءری داخل یه متغیر پی اچ پی پاس داد
ممنون اگه پاسخ رو برام ایمیل کنی
بازم تشکر
بر عکس این کار چجوری میشه انجام داد؟ یعنی مقدار php انتقال بدیم به جیکوئری؟
مثلا اینطور :
var name = "<?php echo $name ?>";
تشکر
ممنون . دنبال این مطلب میگشتم
خوشحالم مفید بوده . بازم به فتولیا سر بزنید
من تو هر دو تا یک جور مبتدیم و برای خودم یکم سوال بود اگر بخوام ، این دو ارتباط برقرار کنم چیکار باید بکنم
الان با این روش میشود مقدار زا از بانک اطلاعاتی به JS موثر هست؟( بدون استفاده از AJAX)
سلام
لطفا بیشتر توضیح بدید .متوجه نشدم
منظورم اینست که اطلاعات خروجی ، که از پایگاه داده میگیریم، با همین راه میشه
چون حجم اون فایل زیاد است مشکلی نمیخوریم
خیر به راحتی می تونین این کار رو انجام بدین . برای php حجم فایل مطرح نیست . حجم موقعی مشکل ساز میشه که صفحه از سرور به کاربر میاد و چون حجمش زیاده سخت لود میشه
واقعا عالی بود
خسته نباشید