Bonjour, je viens solliciter votre aide, je souhaite récupérer le dernier commentaire insérer pour pouvoir l'afficher sans recharger ma page. Mais sa me retourne toujours NULL, sauf que lorsque je regarde dans la partie network dans l'onglet response ma réponse est présente.
Routeur :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 ($_GET['url'] === 'postComment') { if (isset($_GET['postId']) AND !empty($_GET['postId'])) { if (!empty($_POST['author']) AND !empty($_POST['contents'])) { $this->_frontController->postComment($_GET['postId'], $_POST['contents'], $_POST['author']); }
Contrôleur :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public function postComment($postId, $contents, $author) { $comments = $this->_comment->addCommentFromPost($postId, $contents, $author); echo json_encode(require './View/displayCommentsView.php'); // require './View/displayCommentsView.php'; }
AJAX :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 document.getElementById("commentForm").addEventListener("submit", function (event) { event.preventDefault(); let dataForm = new FormData(this); const xhr = new XMLHttpRequest(); xhr.onreadystatechange = function () { if (this.readyState == XMLHttpRequest.DONE && this.status == 200) { console.log(this); let result = this.response; comments(result); } }; xhr.open("POST", this.action, true); xhr.responseType = "json"; xhr.send(dataForm); }); function comments(resultAjax) { let div = document.getElementsByClassName("displayComments"); console.log(resultAjax); }
Partager