【问题标题】:Yii2: Preventing data-method="post" link redirectionYii2:防止 data-method="post" 链接重定向
【发布时间】:2016-11-24 02:29:31
【问题描述】:

非常直截了当的问题:我们如何使以下链接仅提交 POST 请求,而不将浏览器重定向到 /post/delete?id=123

<?= \yii\helpers\Html::a('Delete', ['/post/delete','id'=>123], [
    'options'   => [
        'data'  => [
            'method'  => 'post',
            'confirm' => 'Are you sure?',
        ],
    ],
]) ?>

【问题讨论】:

  • 您可以使用 ajax 提交表单而无需尝试刷新页面,也可以使用重定向。如果您尝试将数据发送到某个地方,您也可以使用 php curl。

标签: ajax hyperlink yii2 xmlhttprequest http-post


【解决方案1】:

例如 - 您必须使用 AJAX 发送数据。

Yii 2 自带 jQuery 库,所以使用Jquery.post() 方法更容易。

data-method="post" 仅强制使用 HTTP POST 而非 GET 发送链接。

【讨论】:

  • 这不是真的。如果您检查浏览器的网络监视器,它会显示 2 个请求。首先是一个 POST 请求,然后是一个 GET 请求,都指向同一个 url。
  • Yii 使用 JavaScript 将带有 data-method="post" 的链接转换为表单。为此,您必须通常通过yii\web\YiiAsset 注册yii.js 资产。仔细检查你是否有这个礼物 - 在我的浏览器中我只能看到一个 POST 请求。
猜你喜欢
  • 2018-09-14
  • 2021-07-20
  • 2014-12-15
  • 2017-06-06
  • 1970-01-01
  • 1970-01-01
  • 2020-04-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多