TYPO 3 8.7.13-getArguments()不返回响应

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (49)

\模板\片段\ Search.html

<f:form id="snippetSearchForm"
        action="search"
        controller="Snippets"
        extensionName="snippet_highlight_syntax"
        pluginName="feshs"
        name="searchSnippets"
        method="POST"
        pageType="5513">
    <f:form.textfield class="form-control" property="searchWords"/>
    <f:form.submit id="searchBtn" value="Search"/>
</f:form>

SnippetsController.php

public function searchAction()
    {
        $arguments = $this->request->getArguments();
        \TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($arguments);
    }

ajax.js

$("#snippetSearchForm").submit(function (event) {
    event.preventDefault();
    var form = $(this);
    var action = form.attr("action"),
        method = form.attr("method"),
        data = form.serialize();

    $.ajax({
        url: action,
        type: method,
        data: data,
        cache: false
    }).done(function (data) {
        console.log(data);
    }).fail(function () {
        ( "div.tx-feshs" ).replaceWith("errorMessage");
    }).always(function () {

    });
});

请求网址

index.php?id=148&type=5513&tx_snippet_highlight_syntax_feshs[action]=search&tx_snippet_highlight_syntax_feshs[controller]=Snippets&cHash=4662b6b5a3fa0dc4e590e8d5c90fa

我无法解决这个问题getArguments()。响应和console.log是(空的)。好像我错过了一些东西,但我无法确定哪里:/

提问于
用户回答回答于

假设你的扩展键(= foldername)是“snippet_highlight_syntax”,URL的参数通常是这样的:

tx_snippethighlightsyntax_feshs

这意味着扩展键的所有下划线都被删除。 可能它可能会有所不同,但这不是标准的。 因此,$this->request->getArguments()永远不会返回任 你要调整网址中的参数,如下所示:

index.php?id=148&type=5513&tx_snippethighlightsyntax_feshs[action]=search&tx_snippethighlightsyntax_feshs[controller]=Snippets&cHash=4662b6b5a3fa0dc4e590e8d5c90fa

在TypoScript-Object-Browser中,你应该找到具有该名称的插件:

plugin.tx_snippethighlightsyntax_feshs
用户回答回答于

$this->request->getArguments()将仅返回以extension / plugins标识符为前缀的字段值参数,如tx_anything_pi1 [anything]请检查字段的“name”-tag是否正确。也许这些标签是错误的,因为你正在考虑文本字段中对象的“属性”,但没有绑定到f:form标记的对象。

由于响应应至少返回空调试的HTML,因此你的操作可能出现问题。你能在浏览器中调用它吗?

扫码关注云+社区

领取腾讯云代金券