Yii Ajax 点击
Yii Ajax on click
我在 Yii 上有一些应用程序。我想在单击 div 时实现 ajax 调用。
我找到了一些 docs 和表单 ajax 验证,但我不清楚,我怎样才能做我想做的。我就是这么做的:
$(document).on('click','div.lessonDiv', function()
{
$.ajax(
{
type: "POST",
url: "../../protected/controllers/AjaxController.php",
success: function(data, textStatus, jqXHR)
{
console.log(data);
}
});
}
表示该目录被禁止访问。我应该把能够与 ajax 交互的文件放在哪里?还是已经有了?
更新 我使用的是 1.1 版。
试试这个
$(function(){
$(document).on('click','div.lessonDiv', function()
{
$.ajax(
{
type: "POST",
url: "<?php echo Yii::app()->createUrl('Ajax/index'); ?>",
success: function(data, textStatus, jqXHR)
{
console.log(data);
}
});
});
});
要了解 YII 中的 createUrl(),请单击 here
你不应该直接调用文件,Yii 不能这样工作。它是带有控制器和操作的 MVC 框架,它使用路由,也用于 AJAX 请求。所以你应该添加一个 action 到 AjaxController
并调用 createUrl
来得到它 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);
}
});
});
我建议阅读 Yii guide more closely. It is also available in Russian
我在 Yii 上有一些应用程序。我想在单击 div 时实现 ajax 调用。 我找到了一些 docs 和表单 ajax 验证,但我不清楚,我怎样才能做我想做的。我就是这么做的:
$(document).on('click','div.lessonDiv', function()
{
$.ajax(
{
type: "POST",
url: "../../protected/controllers/AjaxController.php",
success: function(data, textStatus, jqXHR)
{
console.log(data);
}
});
}
表示该目录被禁止访问。我应该把能够与 ajax 交互的文件放在哪里?还是已经有了?
更新 我使用的是 1.1 版。
试试这个
$(function(){
$(document).on('click','div.lessonDiv', function()
{
$.ajax(
{
type: "POST",
url: "<?php echo Yii::app()->createUrl('Ajax/index'); ?>",
success: function(data, textStatus, jqXHR)
{
console.log(data);
}
});
});
});
要了解 YII 中的 createUrl(),请单击 here
你不应该直接调用文件,Yii 不能这样工作。它是带有控制器和操作的 MVC 框架,它使用路由,也用于 AJAX 请求。所以你应该添加一个 action 到 AjaxController
并调用 createUrl
来得到它 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);
}
});
});
我建议阅读 Yii guide more closely. It is also available in Russian