Ajax调用TYPO3控制器功能

时间:2014-12-28 11:53:22

标签: jquery ajax typo3 typo3-6.2.x

如何在Typo3 Backend中使用ajax来调用我自己扩展的控制器功能?

我想搜索我的存储库。

例如:

我有一个输入字段,我可以在其中输入名称。然后搜索功能应在我的存储库中搜索此名称。

我的问题是如何设置ajax调用以与控制器功能通信?

1 个答案:

答案 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,即模块的令牌和其他特定部分。