Я пытаюсь это сделать: при нажатии на изображение выполняется функция, эта функция собирает значение и отправляет его через POST в контроллер, этот контроллер собирает эти данные и отображает представление. Проблема в том, что все работает, но он не показывает мне вид, я остаюсь там, где был.
Изображение, которое вызывает функцию при нажатии:
Функция:
function getSubjectPublication(data){
console.log("EntroFuncion");
console.log(data);
$.ajax({
type: "POST",
url: "perfil.php/" + "subjectPublications",
data: {"data":data},
success: function(response) {
console.log(response);
},
error: function(t, e) {
window.alert("Error al intentar visualitzar les publicacions");
}
})}
Функция вызывает этот общий контроллер (lib), она собирает отправленные данные и передает их в указанный c контроллер:
case 'subjectPublications':
$controllerName = "SubjectPublicationsController";
$actionName = "showSubjectPublications";
$data = $_POST['data'];
array_push($parameters, $data);
break;
Specifi c Контроллер:
<?php class SubjectPublicationsController{
function __construct(){
$this->view = new View();
}
public function showSubjectPublications($parameters){
require 'models/PublicationsSubjectModel.php';
$publicationsSubjectModel = new PublicationsSubjectModel();
$data = $parameters[0];
echo "<script>console.log('ENTROFINAL');</script>";
echo "<script>console.log('. json_encode( $data ) .');</script>";
$subjectPublications = $publicationsSubjectModel->getPublicationOfSubject($data);
$route = $this->view->show("PublicationsSubject.php");
$publicationsSubjectModel->disconnect();
include ($route);
}}?>
Дело в том, что в браузере консоли он показывает мне console.log, который я делаю в функции, и ответ возвращает весь веб, включая представление, которое я включаю в контроллер (представление, которое я хотел показать в браузере), но он не показывает его на экране, я продолжаю работать с тем же экраном, а не с тем, который я включил в контроллер. Что я делаю неправильно? Снимок экрана браузера