Ajax 函数不显示控制器中包含的视图



我尝试过:当点击图像时,执行一个函数,该函数收集一个值并通过POST将其发送到控制器,该控制器收集这些数据并显示视图。问题是,一切都很好,但它并不能让我看到风景,我留在原地。

点击时调用函数的图像:

<img onclick="getSubjectPublication(<?php echo $inf->codiAsignaturaDesti; ?>)" id="click" src="/EEmobi/resources/images/click.png"/>

功能:

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(,它收集发送的数据并将其传递给特定的控制器:

case 'subjectPublications':
$controllerName = "SubjectPublicationsController";
$actionName = "showSubjectPublications";
$data = $_POST['data'];
array_push($parameters, $data);
break;

特定控制器:

<?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,响应会返回整个web,包括我在控制器中包含的视图(我想在浏览器中显示的视图(,但它不会在屏幕上显示,我继续使用同一个屏幕,而不是我在控制器上包含的屏幕。我做错了什么?浏览器屏幕截图

当您完成ajax请求时,通常需要发回一个json对象。在这种情况下,可能是关于您单击的图像。所以,然后你在你的成功功能中做一些事情,比如提醒,或者显示一个弹出窗口之类的。查看json_encode从php页面php.net/manual/en/function.json-encode.php 发回数据

最新更新