Récupérer des données PHP au format json dans une vue MVC
Bonjour Tout le monde , j'ai besoin de votre aide.
j'ai un tableau PHP que je dois récupérer dans ma vue avec ajax en MVC.
mon code ajax
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| var ajax_request = new XMLHttpRequest();
ajax_request.open('POST', '/categories/index/' + page + '/' + query);
ajax_request.send();
ajax_request.onreadystatechange = function () {
if (ajax_request.readyState == 4 && ajax_request.status == 200) {
var response = JSON.parse(ajax_request.responseText);
console.log(response);
//var response = eval(ajax_request);
$('#post_data').html(response.data);
$('#total_data').html(response.total_data);
$('#pagination').html(response.pagination);
}
} |
mon tableau à retourner (traitement.php)
Code:
1 2 3 4 5 6 7
| $output = array(
'data' => $html,
'pagination' => $pagination_html,
'total_data' => $total_data
);
// $this->renderAdmin(url,[donnees], templete)
$this->render('/categories/index', ['output' => json_encode($output), 'templete'); |
Mon problème : je n'arrive pas à recevoir les données au format json pour pouvoir les recupérer comme plus haut (retour ajax)
j'ai fait une deuxieme methode
Code:
1 2 3 4 5 6 7 8 9 10 11
| public function send()
{
echo json_encode($this->output);
}
$output = array(
'data' => $html,
'pagination' => $pagination_html,
'total_data' => $total_data
);
$this->output = $output;
$this->render('/categories/index', ['output' => $this->send()], 'templete'); |
ça ne marche pas.