PDA

View Full Version : فراخوانی تابع جاوااسکریپت سمت سرور ( ajax)



mojdeh9000
شنبه 29 شهریور 1393, 09:00 صبح
سلام دوستان
من می خوام توی کد سمت سرور که با پی اچ پی نوشتم یه تابع جاوا اسکریپت را فراخوانی کنم....کد سمت سرورم اینه :
echo "<script>$(function(){ dis(); });</script>";
اما وقتی با ajax ارسال میشه به سمت کلاینت اجراش نمی کنه!!!
تابع dis() هم سمت کلاینت نوشتم...این مشکلی نداره؟؟؟؟
درضمن وقتی خودم این کد را سمت کلاینت می نویسم به درستی اجرا میشه حالا نمیدونم باید چکار کنم تا درست بشه؟؟؟
با تشکر

plague
شنبه 29 شهریور 1393, 09:22 صبح
سمت سرور باید فقط کد جاوا اسکریپتی که میخای اجرا بشه رو بنویسی بدون تگ SCRIPT و .... تو این مثال میشه

echo " dis(); " ;
بعد سمت کلاینت محتوای برگشتی ایجکس رو در تابع eval بزاری تا اجرا کنه

mojdeh9000
شنبه 29 شهریور 1393, 10:04 صبح
سمت سرور باید فقط کد جاوا اسکریپتی که میخای اجرا بشه رو بنویسی بدون تگ SCRIPT و .... تو این مثال میشه

echo " dis(); " ;
بعد سمت کلاینت محتوای برگشتی ایجکس رو در تابع eval بزاری تا اجرا کنه
کد سمت کلاینتم html و اونو توی یه تگ میذارم به همین دلیل نمیتونم بذارمش توی تابع eval
اگه کد سمت سرور اشتباه باشه خود کد را نمایش میده ولی برا این کد هیچی نشون نمیده!
اینطوری هم نوشتم ولی بازم جواب نداد:
echo "<?php eval(dis()); ?>";

مگه عین کدی که توی echo نوشته میشه در تگی که مشخص کردم قرار نمیگیره پس چرا اجرا نمیشه؟؟؟

nazanin_asadi_1
شنبه 29 شهریور 1393, 13:22 عصر
خب عزیزم سمت کلاینت چطوری مقداری که از سرور میگیری رو پردازش میکنی ؟

مثلا در کد زیر هر مقداری که برگشت داده میشه در html المنت قرار میگیره

$.post('url',function(data,state){
if(state=='success')$('#idelement').html(data);
});


مثلا اگه مقدار زیر رو در سمت سرور بنویسی راحت در سمت کلاینت اجرا میشه

echo "<script>dis();</script>";

فقط وقتی سوالی رو مطرح میکنی سعی کن کدهای سمت سرور و سمت کلاینت رو با هم بزاری تا با حدث و کمان راهنمایی نشی :قلب:

plague
یک شنبه 30 شهریور 1393, 15:25 عصر
کد سمت کلاینتم html و اونو توی یه تگ میذارم به همین دلیل نمیتونم بذارمش توی تابع eval
اگه کد سمت سرور اشتباه باشه خود کد را نمایش میده ولی برا این کد هیچی نشون نمیده!
اینطوری هم نوشتم ولی بازم جواب نداد:
echo "<?php eval(dis()); ?>";

مگه عین کدی که توی echo نوشته میشه در تگی که مشخص کردم قرار نمیگیره پس چرا اجرا نمیشه؟؟؟

eval جاوا اسکریپت رو گفتم نه php ! و در سمت کلاینت باید eval بشه

$.post( url , function(data){
eval(data);
});

mojdeh9000
دوشنبه 31 شهریور 1393, 16:11 عصر
خب عزیزم سمت کلاینت چطوری مقداری که از سرور میگیری رو پردازش میکنی ؟

مثلا در کد زیر هر مقداری که برگشت داده میشه در html المنت قرار میگیره



1
2
3

$.post('url',function(data,state){
if(state=='success')$('#idelement').html(data);
});








مثلا اگه مقدار زیر رو در سمت سرور بنویسی راحت در سمت کلاینت اجرا میشه


1

echo "<script>dis();</script>";








خب منم همین شکلی نوشتمش ولی اجرا نمیشه یعنی تابع رو فراخوانی نمی کنه.....!!!


eval جاوا اسکریپت رو گفتم نه php ! و در سمت کلاینت باید eval بشه



1
2
3

$.post( url , function(data){
eval(data);
});






ممنون این درسته ولی چون من می خوام این تابع به همراه یکسری کد دیگه اجرا بشه نمیتونم ازش استفاده کنم یعنی مثلا می خوام همزمان باهاش دو تا تگ دیگه هم نمایش داده بشه....ولی سعیم رو می کنم از همین روش استفاده کنم چون راه دیگه ای ندارم....
ممنون از راهنماییتون.