首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >TYPO3 8.7.13 - getArguments()不返回响应

TYPO3 8.7.13 - getArguments()不返回响应
EN

Stack Overflow用户
提问于 2018-06-22 20:53:31
回答 3查看 2.1K关注 0票数 2

\Templates\Snippets\Search.html

代码语言:javascript
复制
<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

代码语言:javascript
复制
public function searchAction()
    {
        $arguments = $this->request->getArguments();
        \TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($arguments);
    }

ajax.js

代码语言:javascript
复制
$("#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 () {

    });
});

请求URL

代码语言:javascript
复制
index.php?id=148&type=5513&tx_snippet_highlight_syntax_feshs[action]=search&tx_snippet_highlight_syntax_feshs[controller]=Snippets&cHash=4662b6b5a3fa0dc4e590e8d5c90fa

我不能用getArguments()解决这个问题。response和console.log为(空)。似乎我遗漏了什么,但我不能确定在哪里:/

EN

回答 3

Stack Overflow用户

发布于 2018-06-22 21:14:37

$this->request->getArguments()将只返回以扩展/插件标识符为前缀的字段值参数,如tx_anything_pi1anything请检查字段的“-tag”名称是否正确。也许这些标签是错误的,因为你在你的文本字段中引用了一个对象的“属性”,但是没有对象绑定到你的f:form标签。

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

票数 0
EN

Stack Overflow用户

发布于 2018-06-22 21:21:50

假设您的扩展密钥(=foldername)为"snippet_highlight_syntax“,URL的参数通常如下所示:

代码语言:javascript
复制
tx_snippethighlightsyntax_feshs

这意味着扩展键的所有下划线都将被删除。

也许可以让它不同,但这不是标准的。

因此,$this->request->getArguments()从不返回任何内容。

您必须像这样调整url中的参数:

代码语言:javascript
复制
index.php?id=148&type=5513&tx_snippethighlightsyntax_feshs[action]=search&tx_snippethighlightsyntax_feshs[controller]=Snippets&cHash=4662b6b5a3fa0dc4e590e8d5c90fa

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

代码语言:javascript
复制
plugin.tx_snippethighlightsyntax_feshs
票数 0
EN

Stack Overflow用户

发布于 2018-06-23 00:54:12

经过多次尝试,我已经将该扩展发送到另一台计算机上进行测试,并且它正在工作。

我已经清除了所有的缓存,禁用/启用,等等。似乎是我的环境出了问题。

感谢你们所有人的帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50988396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档