【问题标题】:How to call a controller action using Javascript $.get - Yii?如何使用 Javascript $.get - Yii 调用控制器操作?
【发布时间】:2014-07-29 07:37:00
【问题描述】:

所以,最近我一直在尝试通过 javascript $.get 调用控制器操作。一位 Stack Overflow 成员建议我使用

 $.get("custom/balance", function(){  }); 

custom 是我正在使用的控制器的名称,而 balance 是 actionBalance()——我在该控制器内部声明的一个函数。我试图这样做,但似乎没有调用该函数。我在该函数中放置了故意错误,所以我确定它不是通过$.get 函数调用的。

以前,我曾将$.get 定向到像这样的资产中的文件

$.get("assets/balance.php, function() {  }); 

这非常有效。

最后,这是我声明的actionBalance - 是否有可能我需要调用该函数?我不确定为什么 custom/balance 不调用动作本身。

public function actionBalance() {

    // Return a string
    echo '7000';

}

【问题讨论】:

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

标签: javascript php jquery forms yii


【解决方案1】:

对于之前让您感到困惑的不完整答案,我深表歉意,因为我认为每个人都想从 URL 中删除 index.php 脚本名称。

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

要在 URL 中隐藏这个入口脚本,请按照 Yii 网站上的教程进行操作:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-12
    • 1970-01-01
    • 2015-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多