如何使用Javascript$.get-Yii调用控制器操作?

如何使用Javascript$.get-Yii调用控制器操作?,javascript,php,jquery,forms,yii,Javascript,Php,Jquery,Forms,Yii,所以,最近我一直在尝试通过javascript$调用控制器操作。一位堆栈溢出成员建议我使用 $.get("custom/balance", function(){ }); 其中custom是我正在使用的控制器的名称,balance是actionBalance()——我在该控制器中声明的函数。我尝试过这样做,但似乎没有调用该函数。我在该函数中放置了故意错误,因此我确信它没有通过$.get函数调用 以前,我将$定向到资产中的一个文件,如 $.get("assets/balance.php,

所以,最近我一直在尝试通过javascript
$调用控制器操作。一位堆栈溢出成员建议我使用

 $.get("custom/balance", function(){  }); 
其中custom是我正在使用的控制器的名称,balance是
actionBalance()
——我在该控制器中声明的函数。我尝试过这样做,但似乎没有调用该函数。我在该函数中放置了故意错误,因此我确信它没有通过
$.get
函数调用

以前,我将
$定向到资产中的一个文件,如

$.get("assets/balance.php, function() {  }); 
这是非常有效的

最后,这里是我声明的
actionBalance
——我是否需要调用该函数?我不知道为什么custom/balance不调用操作本身

public function actionBalance() {

    // Return a string
    echo '7000';

}

很抱歉,前面的回答不完整,让您感到困惑,因为我假设每个人都想从URL中删除index.php脚本名称

如果您使用的是默认设置,那么应该在路径之前添加
index.php?r=
index.php
在Yii中称为入口脚本。在受保护的文件夹中,其他文件对公众隐藏/受保护

要从URL中隐藏此输入脚本,请遵循Yii网站上的本教程:


您能否检查mod_rewrite是否确实是通过ajax调用的,以及实际发生的情况,也许您需要在控制器名称之前添加
/
?如果您在浏览器中调用“custom/balance”,您会得到什么?控制器名称?Show
urlManager.rules
.Royal BG-你说的mod_rewrite是什么意思?军事上,如果我在浏览器中调用custom/balance,我会得到“7000”,当然我实际上调用的是paypeous/index.php?r=account/balance