PDA

Zobacz pełną wersję : Zwracanie poprzez Ajax danych, które są wysyłane przez skrypt PHP



Kamil Szmit
30-05-2017, 12:22
Mam w oddzielnym skrypcie "donation.php" w dodatku typu Ajax metodę:

function donateInitiation($req = null, $res = null) {
// (...)
ob_end_clean();
header("Connection: close\r\n");
header("Content-Encoding: none\r\n");
ignore_user_abort(true);
ob_start();
json($copy); // json = echo json_encode, zwrócenie danych w formacie JSON
$size = ob_get_length();
header("Content-Length: $size");
ob_end_flush();
flush();
ob_end_clean();
if(session_id())
{
session_write_close();
}
// (...) - dalsze operacje
}


Czy mogę w głównym skrypcie dodatku zwrócić wartość wysłaną przez metodę „donateInitiation”? Próbuję zrobić to tak, ale nic nie jest zwracane:

jimport('joomla.plugin.plugin');
class plgAjaxLatestarticles extends JPlugin{
function onAjaxLatestarticles() {
require_once "donation.php";
$myShop->donateInitiation();return;
}}


Działa zwracanie przez skrypt "donation.php" danych, gdy odwołuję się do niego bezpośrednio poprzez Ajax, ale w Joomli jest to niepolecane i blokowane często na poziomie serwera. Czy można zwrócić w dodatku Joomla typu Ajax dane, które są zwracane przez skrypt PHP, który pracuje dalej po zwróceniu danych konstrukcją "echo"? Czy można zrobić coś takiego za pomocą modułu lub innego typu rozszerzenia Joomla? Proszę o pomoc.