چگونه : داده را از php به javascript پاس دهیم؟

12 دیدگاه

تا به حال نیاز پیدا کرده اید که یک متغیر ، آرایه و یا ابجکت را از 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>

یک ترفند ساده ، با این وجود پرکاربرد . شما چه راه های دیگری برای این کار می شناسید ؟ اگر سوالی دارید می توانید در بخش سوالات بپرسید

در همین رابطه :   چگونه عملگر "or" لاراول را با عملگر جدید PHP 7 جایگزین کنید؟

منبع

دسته بندی : JavaScriptPHP

12 نظر

  1. سلام ممنون از مطالب خوبتون
    حالا چجور میشه یه متغیر رو از جی کوءری داخل یه متغیر پی اچ پی پاس داد
    ممنون اگه پاسخ رو برام ایمیل کنی
    بازم تشکر

  2. من تو هر دو تا یک جور مبتدیم و برای خودم یکم سوال بود اگر بخوام ، این دو ارتباط برقرار کنم چیکار باید بکنم
    الان با این روش میشود مقدار زا از بانک اطلاعاتی به JS موثر هست؟( بدون استفاده از AJAX)

      1. منظورم اینست که اطلاعات خروجی ، که از پایگاه داده میگیریم، با همین راه میشه
        چون حجم اون فایل زیاد است مشکلی نمیخوریم

        1. خیر به راحتی می تونین این کار رو انجام بدین . برای php حجم فایل مطرح نیست . حجم موقعی مشکل ساز میشه که صفحه از سرور به کاربر میاد و چون حجمش زیاده سخت لود میشه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *