Функция onSend не выполняет свой код, когда ее вызывает OctoberCMS AJAX - PullRequest
0 голосов
/ 08 апреля 2019

Я пытаюсь выполнить некоторый код, используя октябрьский API атрибутов данных для интерфейсных форм. Функция onSend выполняет простые коды, такие как echo «что-то», но не усложняет код, например, пытается использовать плагин 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';

1 Ответ

1 голос
/ 08 апреля 2019

Вы пытаетесь отрисовать / воспроизвести PDF?Вы смотрели на монитор сети в вашем браузере?

Что-то, что я бы протестировал, это ваш mpdf-код с вызовом public function onRun().Убедитесь, что это работает.

Попробуйте обновить частичное.data-request-update="'{{__SELF__::partial}}', '#element'"

Кроме этого вам может потребоваться выполнить полное перенаправление страницы.Как я делаю потоковую передачу PDF-файлов, у меня есть route.php, который принимает https.domain.com/stream/pdf?id=encryptedsomething.Маршрут запрограммирован для поиска конкретного объекта в модели после расшифровки id и отображения данных в формате PDF.

...