为了账号安全,请及时绑定邮箱和手机立即绑定

如何在不渲染另一个页面 Yii2 的情况下对按钮单击运行操作?

如何在不渲染另一个页面 Yii2 的情况下对按钮单击运行操作?

PHP
慕的地6264312 2021-12-24 15:16:41
现在我在我的视图中有一个按钮(实际上它是一个样式为按钮的表格单元格)。当用户单击此按钮时,我希望控制器执行一个操作。但是,此操作应在同一视图上完成,而无需重定向到另一个页面。所以,现在的逻辑是这样的:1)actionIndex 工作并呈现索引视图 2)在索引视图上有一个点击按钮,我们运行 actionSend() 3) actionSend() 工作(发送电子邮件)但我们没有从索引视图重定向到其他地方(只显示成功消息)看法:  <table style="width:100%; height:100%; color:white">     <tbody>       <tr>         <td><?= Html::a('Send to e-mail' ['result/sendPdf'])?>                                               </td>       </tr>     </tbody>  </table>  控制器:public function sendPdf(){  $mailer = Yii::$app->mailer;  $content  = Yii::$app->runAction('pdf/email');  $message = $mailer->compose()     ->setTo([$profileData->email])     ->setFrom(Yii::$app->params['adminEmail'])     ->setSubject("Your pdf file is ready")     ->attach($content, ['fileName' => 'Document.pdf', 'contentType' => 'application/pdf'])     ->send(); }   
查看完整描述

1 回答

?
大话西游666

TA贡献1817条经验 获得超14个赞

if (Yii::$app->request->isAjax) {

    $mailer = Yii::$app->mailer;

    $content  = Yii::$app->runAction('pdf/email');

    $message = $mailer->compose()

    ->setTo([$profileData->email])

    ->setFrom(Yii::$app->params['adminEmail'])

    ->setSubject("Your pdf file is ready")

    ->attach($content, ['fileName' => 'Document.pdf', 'contentType' =>        'application/pdf'])

    ->send(); 

    }

AJAX 代码


$('#button').click(function(e){

$.ajax({

  type: 'GET',

  url: your_url,

  success: function(result) {

      //code

  },

  error: function(result) {

     alert('error');

  }});});});


查看完整回答
反对 回复 2021-12-24
  • 1 回答
  • 0 关注
  • 161 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信