我目前正在尝试在我的Drupal8模块中使用AJAX (带有jQuery),以便在用户在文本字段中键入内容时重新加载页面。我设法得到了一个完整的HTML页面,但我希望AJAX函数只获得页面的内容(没有整个布局)。
我怎样才能做到这一点呢?当请求使用AJAX时,我应该对控制器函数进行哪些更改才能呈现不同的视图?
我已经在Google和Drupal8文档上进行了搜索,但是我没有找到我的问题的任何答案。
提前感谢您的帮助!
发布于 2017-02-06 18:11:19
您可以在AJAX回调函数中返回数据,如下所示。
$build[] = array(
'#type' => 'markup',
'#markup' => '<p>Demo text content</p>',
);
return new Response(render($build));确保包含Response类
use \Symfony\Component\HttpFoundation\Response;发布于 2017-01-08 21:50:45
您可以制作一些视图,这些视图由一些ajaxAction请求返回,您将以这种方式在页面上附加或重新定义它们:
$.ajax({
type: 'GET',
url: 'ajaxContent.php?action=get&pageId=777',
cache: false
}).done(function( receivedHtml ) {
$("#targetBlock").html(receivedHtml);
});这是在ajaxContent控制器上使用jQuery ajax的示例,通过url使用参数。
https://stackoverflow.com/questions/41532279
复制相似问题