PDA

View Full Version : سوال: به کاربردن ajax و mvc به طورهمزمان درphp



m_s_best
سه شنبه 16 اسفند 1390, 16:03 عصر
سلام دوستان.من با یه مشکلی مواجه شدم .با mvc و ajax اشنا هستم اما نمیدونم چطور میشه اینارو با هم توی کد داشته باشم.؟؟؟؟؟؟؟پاسخ ajax کجای mvc قرارمیگیره؟
ازلطفتون ممنون.

iker-casillas
سه شنبه 16 اسفند 1390, 16:25 عصر
سلام
ببین دوست عزیز در ساختارهای mvc که توی وب استفاده می شن تابع ajax که میاد یه صفحه رو صدا می زنه به عنوان درخواست view به حساب میاد و اون صفحه ای که صدا زده شده controller هست که بنابر چیزی که ازش درخواست شده model و view صحیح رو کنار هم قرار میده
وقتی می خوای از ajax تو mvc استفاده کنی بهتره صفحه controller به شکل بلوک بندی شده باشه (یعنی کلاس نباشه) -- (البته این نظر منه) --

farhadfery
سه شنبه 16 اسفند 1390, 23:14 عصر
من این کتاب را نخوندم که بدونم MVC هست یا نه. اما شما حتما بخونش:تشویق: (من یه کتاب دیگه خوندم)
AJAX and PHP: Building Responsive Web Applications با ISBN: 978-1-904811-82-4 از PacktPub

Mr.Moghadam
چهارشنبه 17 اسفند 1390, 00:51 صبح
سلام دوستان.من با یه مشکلی مواجه شدم .با mvc و ajax اشنا هستم اما نمیدونم چطور میشه اینارو با هم توی کد داشته باشم.؟؟؟؟؟؟؟پاسخ ajax کجای mvc قرارمیگیره؟
ازلطفتون ممنون.
همینطور که میدونی URL توی MVC به شکل زیره :
http://domain.com/controller/action/parameter
خب شما هم برای استفاده از ای جکی در این معماری باید آدرس دهی رو به صورت بالا داشته باشی.
مثال :
کنترلر ajax


class AjaxController extends controller
{

function getUsernameAction()
{
if(isset($_POST['userID'])) return json_encode($this->User->FindByID($_POST['userID'])->fetchOne());
}
}

با توجه به کنترلر Ajax یک متد داره با نام getUsernameAction که آی دی کاربر رو میگیره و اطلاعات رو از دیتابیس استخراج میکنه و به صورت json برمیگردونه


class UserController extends Controller
}
function indexAction()
}
$this->view->render();
{
{


در کنترلر یوزر در اکشن index ویو مورد نظر رو نمایش میدیم.
حالا توی View مثلا مربوط به یوزر


<button id="get-user-info"> Get Username</button>

<script>
$("#get-user-info").click(function()
{
$.post("http://domain.com/ajax/getUsername" , {userID:12} , function(data)
{
$('.result').html(data.username);
}, "json"
);

</script>



در کد بالا هنگامی که رو کلید کلیک میشه اطلاعات از کنترلر Ajax و متد getUsername به صورت json دریافت میشه و در result نمایش داده میشه

m_s_best
چهارشنبه 17 اسفند 1390, 08:38 صبح
خیلی ممنون.کامل بود.خیلی به دردم خورد.

narsic
چهارشنبه 17 اسفند 1390, 09:32 صبح
برای تشکر کردن استفاده از دکمه تشکر کافیه