【问题标题】:HTTP POST to Yii2到 Yii2 的 HTTP POST
【发布时间】:2026-01-13 19:00:01
【问题描述】:

我正在使用 Postman(Chrome 扩展程序)将数据发布到我的 Yii2 应用程序。

我的 SiteController 中有一个方法:

public function actionMobileLogin()
{
    echo "MobileLogin";
    var_dump($_POST);
}

当我发布到:[我的网站]/web?r=site/mobile-login

我只收到回复:

MobileLoginarray(0) {
}

我尝试使用相同的 PHP 代码(不扩展类 Controller 的文件)对其他 php 文件进行 POST,一切正常。当我发布到 Yii2 操作时会出现问题。

我需要做什么才能从外部服务器接收到我的 Yii2 方法的 POST ?

【问题讨论】:

  • 在浏览器上检查您的网址[my website]/web?r=site/mobile-login。也许我们有一个重定向。
  • 问题是我需要 POST 到 [我的网站]/web/?r=site/mobile-login。我不知道 POST 到 /web?r=... 和 /web/?r=... 之间的区别

标签: http post request yii2


【解决方案1】:

我想为时已晚,但您必须覆盖控制器中的下一个属性:

public  $enableCsrfValidation = false;

【讨论】:

  • 你能解释更多吗?它可能对我有帮助。谢谢
  • 这个应该被认为是上述问题的正确答案。您只需将该行添加到接收控制器 public $enableCsrfValidation = false;并且控制器中包含的所有操作都可以从外部链接访问。