如何在Typo3 Backend中使用ajax来调用我自己扩展的控制器功能?
我想搜索我的存储库。
例如:
我有一个输入字段,我可以在其中输入名称。然后搜索功能应在我的存储库中搜索此名称。
我的问题是如何设置ajax调用以与控制器功能通信?
答案 0 :(得分:1)
在后端模块中非常简单,只需在控制器中注册新操作,即:nameAutocomplete
(不要忘记将其添加到ext_tables.php中允许的操作列表中)
因此您可以使用ViewHelper创建正确的网址:
<script>
var MY_AJAX_ACTION_URL = '<f:uri.action action="nameAutocomplete" />';
jQuery.ajax({
type: 'POST',
url: MY_AJAX_ACTION_URL
});
</script>
示例操作非常直接,即如果您需要JSON输出,则可以直接执行:
public function nameAutocompleteAction() {
$out = array('status' => 'I am alive');
// Process your POSt data here
header('Content-Type: application/json');
return json_encode($out);
}
注意:您需要使用viewhelper在其创建时构建正确的URL,即模块的令牌和其他特定部分。