سلام دوستان . چطور ميتونم يه متغير كه تو صفحه ديگه كه بهش مقدار دادم تو يه صفحه جديدم مقدار جديدش رو چاپ كنم ؟ ميدونم كه با ajax هست اما گير كردم اگه كسي بلده كمك كنه ممنون
Printable View
سلام دوستان . چطور ميتونم يه متغير كه تو صفحه ديگه كه بهش مقدار دادم تو يه صفحه جديدم مقدار جديدش رو چاپ كنم ؟ ميدونم كه با ajax هست اما گير كردم اگه كسي بلده كمك كنه ممنون
با سشن می تونین این کار رو بکنید!
بله ميدونم با سشن ميشه . اين متغيري كه من ميگم تو سشن ذخيره هست اين اين سشن تعداد كالا هاي خريداري شده توسط مشتري هست من براي افزودن كالا به سبد اطلاعاتم رو به صورت ajax به فايلي به اسم add.php فرستادم و اين سشن در صفحه add.php مقدار جديد خودش رو ميگيره و من ميخوام مقدار جديدش دوباره به صورت ايجكس در صفحه ايندك نشون داده بشه ! يعني بدون لود صفحه كالا ها به سبد خريد اضافه بشه (كه اين قسمت رو خودم انجام دادم) و بعد مقدار جديد اون سشن در همون صفحه ايندكس بدون رفرش نشون داده بشه ؟ امكانش هست ؟؟
اگر متوجه نشديد كد رو بزارم
فكر كنم با تابع setInterval بتونم محتوياتش رو رفرش كنم درسته؟؟
كسي هست بهم كمك كنه؟؟
يكي جواب من رو بده :گریه:
اگه بخوام اون div يي كه اوم متغيير توش هست رفرش كنم چطوري بايد انجام بدم كسي بلده ؟؟
ببیند لازم نیست اینکار رو بکنید. فقط کافیه وقتی درخواست رو به صفحه add میفرستید اون div که اطلاعات سشن رو نشون میده آپدیت کنید و اطلاعاتی که برای صفحه add میفرستید رو اونجا اضافه کنید.
توی گوگل جستجو کنید Comet
در صورتی هم که خیلی به این چیزا علاقه دارید Node.js
اگه نمیخواین درگیر COMET و اینجور مباحث بشین هم با همون AJAX ساده میتونید انجام بدین. برای مثال فرض کنید یک متغیر سشن دارین که داخلش کالاها قرار داره و شما میخواین تعداد کالاها رو نشون بدین. یک اسکریپت بسازین به اسم فرضی count.php و این کد رو داخلش بنویسید:
session_start();
echo count($_SESSION['basket']);
حالا این کد رو توی صفحه خودتون بگذارین:
این کد هر 3 ثانیه یکبار اسکریپت count.php رو صدا میزنه و نتیجه رو توی div با "id="count میگذاره.کد HTML:<script src="jqmin.js" type="text/javascript"></script>
<script type="text/javascript">
var refreshId = 0;
function refresh() {
$.ajax({
type: "get",
url: "count.php",
success: function(result) {
$("#count").html(result);
}
});
}
$(document).ready(function() {
// to prevent multiple set intervals which causes the browser to slow down or even crash
if(refreshId !== 0) {
clearInterval(refreshId);
}
refreshId = setInterval("refresh()", 3000);
});
<div id="count"></div>
با سلام
عزیز کد مربوطه اینه
<div id="count"></div>
var refreshId = 0;
function refresh() {
$.ajax({
type: "get",
url: "count.php",
success: function(result) {
$("#count").html(result);
}
});
}
$(document).ready(function() {
// to prevent multiple set intervals which causes the browser to slow down or even crash
if(refreshId !== 0) {
clearInterval(refreshId);
}
refreshId = setInterval("refresh()", 3000);
});
refressh id setinvetral ()
"
3000 :'
استفاده از interval یک ایراد داره و اونم ارسال درخواست های متعدد به سروره. که ممکنه از بین 20-30 هزار درخواست در طول روز فقط 2-3 بار نیاز به آپدیت داشته باشه. البته اگه قبل از اون توسط فایروال سرور مسدود نشید. بار زیادی به سرور وارد میکنه. اگر هم تعداد بازدید کننده از وبسایت شما زیاد باشه که فاتحه... .