javascript - Yii Ajax 点击

标签 javascript php jquery ajax yii

我在 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版本。

最佳答案

你不应该直接调用文件,Yii 不这样工作。它是带有 Controller 和操作的 MVC 框架,它使用路由,也用于 AJAX 请求。因此,您应该向 AjaxController 添加一个 action 并调用 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接近一点了。它也可在 Russian 中找到。

关于javascript - Yii Ajax 点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28273952/

相关文章:

php - Paypal 捐赠按钮

javascript - 调用 javascript 处理程序的正确方法

javascript - 修改WKWebView中不存在的DOM元素

javascript - 使用 vue 将方法传递给 lodash 给出 'Expected a function'

javascript - 下拉选择菜单以返回没有提交按钮的php变量

jquery - Blueimp 文件上传问题

javascript - Jquery滚动,事件类的顶部偏移

javascript - 如何在 native react 中将按钮从一个类导入到另一个类

php - 有没有办法从 Zend-framework 的查询中获取记录数?

php - 存储一个sql查询的值并在另一个sql查询中使用结果