PDA

View Full Version : دریافت اطلاعات از بانک به روش ajax در yii



barname_newis
دوشنبه 08 اردیبهشت 1393, 01:40 صبح
سلام
من میخوام در فریم ورک yii رکورد های یک جدول رو به صورت ای جکس دریافت کنم . ممنون میشم راهنماییم کنید.
تو کنترلر و مدل چه کدهایی بنویسم ؟ بهترین روش دریافت اطلاعات جیسون هست؟
ممنون

MMSHFE
دوشنبه 08 اردیبهشت 1393, 10:40 صبح
یک اکشن خاص درست کنید (توی کنترلر دلخواه خودتون) و سطح دسترسی اون رو هم مشخص کنید (توی accessRules)‌ - فرضاً میخواین فقط کاربران بهش دسترسی داشته باشن یا همه بازدیدکنندگان سایت. توی اون اکشن هم نتیجه استخراج اطلاعات از دیتابیس رو بصورت JSON برگردونید:

class User {
public function actionInfo() {
$users = User::model()->findAll();
$userInfo = array();
foreach($users as $user) {
$userInfo[] = array($user->id, $user->name, $user->family, $user->age);
}
$echo JSON::encode($userInfo);
Yii::app()->end();
}
}
حالا میتونید با AJAX این اکشن رو صدا بزنید:
$("#info").click(function() {
$.ajax({
type: "get",
url: "<?php echo Yii::app()->createAbsoluteUrl('user/info'); ?>",
success: function(result) {
// do what you want with the result
}
});
});
JSON یکی از روشهاست ولی از اونجا که توی همه زبانها شناخته شده است و مثلاً میشه با JS دوباره اون رو تبدیل به آرایه کرد، روش خوبیه. از روشهای دیگه مثل XML هم میتونید استفاده کنید.