首页 > 解决方案 > 当 OctoberCMS AJAX 调用 onSend 函数时,它不会执行它的代码

问题描述

我正在尝试使用十月的数据属性 API 为前端表单执行一些代码。onSend 函数执行简单的代码,例如 echo 'something',但不执行更复杂的代码,例如尝试使用 mpdf 插件。我猜这与AJAX重新加载页面有关,但不知道如何解决。

我尝试使用来自数据属性 API 的数据请求,调用函数 onSend,但 onSend 上的代码不执行。

我的表单标题如下:

<form class="register-form" method="POST" data-request="onSave">

和我的函数onSave:

public function onSave(){
$mpdf = new \Mpdf\Mpdf();
$mpdf->WriteHTML('<div style="text-align: center"> Test </div>');
$mpdf->Output();
}

请注意,这两个代码都在一个组件上,并且当我尝试以下操作时会执行 onSave 函数:

echo 'Test';

标签: octobercmsoctobercms-backend

解决方案


您正在尝试渲染/流式传输 PDF?您是否在浏览器中查看过网络监视器?

我要测试的是您在通话中的 mpdf 代码public function onRun()。确保它有效。

尝试更新部分。data-request-update="'{{__SELF__::partial}}', '#element'"

除此之外,您可能需要进行整页重定向。我如何流式传输 PDF 是我有一个 routes.php 接受这个https.domain.com/stream/pdf?id=encryptedsomething。该路线被编程为在解密后查找模型中的特定对象,id并以 PDF 格式显示数据。


推荐阅读