یلدا ادامه داره... ❤️ ۴۰ درصد تخفیف همه دورهها
استفاده از تخفیفهاسلام دوستان خسته نباشین
یه سوال دارم در مورد ایجکس ؟؟
یه صفحه دارم که توش میخوام نظرات کاربران و پرسش و پاسخ رو نمایش بدم زیر توضیحات بصورت تب منتها بر اساس اینکه روی کدوم تب کلیک شده می خوام یک درخواست ایجکس ارسال کنم به سرور تا فقط محتوای مربوط به همون تب رو برام برگردونه
مشلی که دارم اینکه نمی دونم آدرس درخواست ایجکس رو چطوری باید ست کنم بر اساس اینکه روی کدوم تب داره کلیک میشه من می خوام یک متد از داخل کلاس php فراخوانی بشه و محتوای مربوط به تب رو از سرور برگردونه چطوری باید این متد از داخل کلاس رو در ادرس درخواست اجکس قرار بدم ؟؟؟
`<?php
class product
{
function __construct(argument)
{
# code...
}
/**
* method for switch tab index
*/
public function SwitchTabByIndexNumber($productID = NULL , $tabIndexNumber = NULL){
switch ($tabIndexNumber) {
case 0:
return $this->getComment();
break;
case 1:
return $this->getAsk();
break;
case 2:
return $this->getProductInfo();
break;
default:
# code...
break;
}
}
public function getComment(){
//code for fetch from database
}
public function getAsk(){
//code for fetch from database
}
public function getProductInfo(){
//code for fetch from database
}
}
?>
<div id="child_tab">
<section></section>
<section></section>
<section></section>
<section></section>
</div>
<script>
/ show_more child tab/
$(".tab li").click(function(){
var indexli = $(this).index();
var url = "";
var data = {'liNumber':indexli};
var current_section = $("#child_tab section").eq(indexli);
$.post(url,data,function(response){
current_section.html(response);
});
});
</script>
``
داخل کلاس php یه متد هست که بر اساس شماره تب یه سری متد رو فراخوانی میکنه و مقادیر رو از دیتابیس مس خونه و بر می گردونه حالا بنده می خوام ادرس url در خواست ایجکس رو تنظیم کنم روی این متد تا براساس شماره تب یه سری داده از سرور برگردونده بشه ولی نمی دونم چطوری تنظیم کنم ؟؟؟
کد جاوا اسکریپتم داره شماره تب ها رو می گیری و بر اساس پاسخ مقادیر رو نسبت میده به html تگ والد یعنیsection صفحات جداگانه هستن و در مسیرهای مختلف قرار دارن اینجا برای راحتی کدها رو یکجا اوردم
اگر تعداد تبها زیاد نیست٬ اطلاعات همه رو بگیرید و در آبجکت های مختلف ذخیره کنید. در این حالت فقط باید آبجکتی که نمایش داده میشه رو عوض کنید
داداش نمی خوام سختش کنم .تو این حالت چطوری ادرس درخواست رو تنظیم کنم کلا چهارتا تب هستش تو سیستم ام وی اس خیلی راحت پیاده میشه ولی تو شکل شی گرا ممی دونم چطوری url درخواسن ایجکس رو تنظیم کنم .😴😴😴😴😴😴
@Alimotreb
@hesammousavi
با سلام و خسته نباشید خدمت کاربر عزیز علی
لطفا کدهای دو فایل رو به شکل درست قرار بدید تا بنده یا دوستان شما رو راهنمایی کنیم چون مشکل شما به نظرم ساده است و قابل حل فقط کد دو بخش کنترلر و ویو رو اگه زحمت بکشید یک بار دیگه با دقت قرار بدید
داداش هر جوری قرار می دم اینطوری میشه شما فقط لطفا بگید بنده چطوری از داخل کلاس بصورت ایجکس یک متد رو فراخوانی کنم.
این کار خیلی راحته برای ارسال اطلاعات به متد یک کنترلر یا هر کلاس دیگه ایی توی لاراول کافیه شما یک روت با متد دلخواه خودتون حالا پست یا گت تعریف کنید و به عنوان url متد ایجکس اون روت رو قرار بدید اگر بازم نیاز به راهنمایی داشتید بفرمایید تا با ذکر مثال بگم
نه داداش سیستم لاراول نیست بصورت شی گرا با php می خوام پیاده کنم تو سیستم ام وی سی این کا رو کردم فقط نمی دونم تو شی گرایی که کنترلر نداریم چطوری باید از داخل کلاس یک متد رو بصورت ایجکس فراخوانی کنم
با سلام مجدد خدمت داداش علی
این کار رو ما توی php خام به روش زیر انجام می دیم من برات با یک مثال توضیح می دم که ان شا الله مشکلت رفع بشه
فرض کن یک کلاس داریم به اسم animal که می خواییم به تابع getName دخلش دسترسی داشته باشیم
class animal
{
function getName()
{
return "lion";
}
}
این از تعریف کلاس و توابع php مرحله بعد ایجاد یک هندلر درون یک فایل دیگه است مثال فایل animalHamdler هندلر رو به شکل زیر تعریف می کنیم :
require_once 'animal.php';
$myAnimal = new animal();
$result = $myAnimal->getName();
echo $result;
حالا خیلی راحت توی فایلمون این هندلر رو فراخونی می کنیم
<script type=text/javascript>
$.ajax({
type: "POST",
url: "animalHandler.php",
dataType: "html",
async: false,
success: function(data) {
result=data;
}
});
</script>
که اینجا خروجی من چون html نوع dataType اون انتخاب کردم اگه موارد دیگه مثل json می تونی خروجی رو به شکل json تعریف کنی
بازم اگه موردی بود من در خدمتتم دوست عزیز
سلام داداش فخرالدبن
ممنون بابت لطفی که کردی و کد ارسال کردی
حالا من نیاز دارم دو تا پارامتر هم تو درخواست ایجکس ارسال کنم تا دوتا پارامتر مثلا به متد getname پاس داداه بشه تا براساس سویچی که انجام می شه بکسری ماد فراخوانی بشه و اطلاعات رو از دیتابیس بخونه
سلام و مرسی از شما
خوب شما می تونید پارامتر رو به روش POST ارسال کنید و از متغیر POST پی اچ پی مقادیر رو فراخونی کنید مثال :
<script type=text/javascript>
$.ajax({
type: "POST",
url: "animalHandler.php",
dataType: "html",
data: {
var1: test1,
var2: test2
},
async: false,
success: function(data) {
result=data;
}
});
</script>
بعد با استفاده از متد POST پی چی اپی توی هندلرمون مقادیر رو می گیریم
require_once 'animal.php';
$var1 = $_POST['var1'];
$var2 = $_POST['var2'];
$myAnimal = new animal();
$result = $myAnimal->getName($var1, $var2);
echo $result;
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟