Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html Yii2:数据方法='post'正在发送GET请求_Html_Yii2_Href - Fatal编程技术网

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

Html Yii2:数据方法='post'正在发送GET请求,html,yii2,href,Html,Yii2,Href,我正在对yii2中的现有网页进行更改。 我有这段代码: Html::a('Confirm!',[ 'default/apply', 'confirm' => 1, 'id' => $data->id ],['class' => 'btn-primary','data-method' => 'post']) 我已经将它移动到同一页上的另一个容器中 我不得不稍微调整一下,将$data->id更改为$project

我正在对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/1http/1.1

现在:GET/participant/default/apply/13/1http/1.1


我无法理解为什么会发生这种变化,以及如何让代码在新的位置作为POST工作。此href的执行必须取决于我不知道的其他因素。

您可以使用链接发送POST请求,这要感谢yii.js文件中的JavaScript,它以静默的形式将其包装。若这个JS并没有加载到assets中,那个么链接将以标准方式工作,即发送GET请求


检查yii.js通常是通过直接注册yii\web\YiiAsset还是通过依赖项加载的。

谢谢!这给了我一个暗示,尽管它并没有完全解决我的问题。1.在html中,我在正文结尾前有一个对yii.js的引用:这个引用是有效的。我可以检查其他东西以确保它已加载吗?2.我的页面中的JS更加复杂,可能会影响如何处理此href。我仍然不确定为什么没有执行与数据方法相关的代码,但我已经得到了我的问题的有效答案。