You shouldn't call files directly, Yii doesn't work this way. It is MVC framework with controllers and actions and it uses routes, also for AJAX request. So you should add an action to AjaxController
and call createUrl
to get it's URL.
PHP
class AjaxController extends CController
{
public funcion actionDoThing()
{
// Get request object
$request = Yii::app()->request;
// Check if request is acceptable
if ($request->isPost && $request->isAjaxRequest)
{
echo CJSON::encode(array('hello'=>'world'));
}
// else
// {
// throw new CHttpException(403);
// }
}
}
JS
$(document).on('click','div.lessonDiv', function() {
$.ajax({
type: "POST",
url: <?php echo $this->createUrl('ajax/doThing'); ?>,
success: function(data, textStatus, jqXHR) {
console.log(data);
}
});
});
I'd recommend to read Yii guide more closely. It is also available in Russian
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…