Yii2:数据方法='发布'正在发送GET请求

时间:2017-02-07 11:04:40

标签: html yii2 href

我正在yii2中对现有网页进行更改。 我有这段代码:

Html::a('Confirm!',[
        'default/apply',
        'confirm' => 1,
        'id' => $data->id
    ],['class' => 'btn-primary','data-method' => 'post'])

我已将其移至同一页面上的其他容器。

(我必须略微调整,将$data->id更改为$projectInfo->id,就像之前它在一个小部件内的匿名函数内部,现在在foreach循环中一样。但这不应该是相关的我假设。)

在更改之前和之后,html中存在相同的行(但在页面的不同部分):

<a class="btn-primary" href="/participant/default/apply/13/1" data-method="post">Confirm!</a>

但是在执行时,http请求现在以GET而不是POST发送。

之前:"POST /participant/default/apply/13/1 HTTP/1.1"

现在:"GET /participant/default/apply/13/1 HTTP/1.1"

我无法弄清楚为什么这会改变以及如何让代码在新位置作为POST工作。此href执行必须依赖于我不知道的一些其他因素。

1 个答案:

答案 0 :(得分:3)

您可以使用链接发送POST请求,这要归功于yii.js文件中的JavaScript,该文件以静默形式包装它。如果未在资源链接中加载此链接,则以标准方式工作,即发送GET请求。

检查是否加载了yii.js(通常是直接注册yii\web\YiiAsset或依赖注册)。