-1

我在这样做时遇到了麻烦,我一直在寻找一些手册,但它们似乎对我不起作用(它们要么不够详细,要么我太愚蠢,可能两者兼而有之)。

所以我想通过某个事件从我的 Fluid View HTML 文件开始一个 AJAX 调用,然后它应该在某个控制器中执行操作并返回一些值(目前任何值都可以,我似乎无法得到当涉及到 Extbase 中的 AJAX 时,任何可以在这里工作的东西)。

4

2 回答 2

1

没有细节我只能猜测你的问题是什么

首先也是最重要的事情是......使用 FireBug 检查 AJAX 调用的问题是什么。它可能只是错误的 URL(操作、控制器等),也可能是您的操作中的一些问题,它没有返回所需的输出。FireBug 将允许您检查它的堆叠位置。

但最有可能...

在将 JS/CSS 代码直接写入 Fluid 视图时要记住非常重要的事情,不幸的是,它几乎从未被提及:

Fluid 使用大括号表示字符串是一个变量:{someVar},因此如果您将 AJAX 或其他 JavaScript 函数放入 Fluid 模板,它很可能被视为 Fluid 变量。此示例粘贴到模板:

$.ajax({
  url: "index.php"
  data: "tx_myextension_plugin[controller]=MyController&tx_myextension_plugin[action]=getData&type=89657201"
  success: function(result) {
    alert(result);
  }
});       

将呈现为:

$.ajax(Array);

解决方案:

直接在模板中转义它很困难,因此将所有 JavaScript 保存到Resources/Public扩展目录下的单独文件中肯定更容易,并将其包含在通用 HTML 标记中:

<script type="text/javascript" src="typo3conf/ext/yourext/Resources/Public/ajaxFunctions.js"></script>
于 2012-05-11T07:07:09.593 回答
0
$("#searchFach").change(function(){
        $.ajax({
              type: 'POST',
              url:"fragen/controller/Question/searchQuestions",      
              data: {mainCategoryId:$("#searchFach").val()},
              success: function(response) { $("#searchCategory").html(response);                         
              },   
        });
    });`
于 2014-02-24T12:41:38.753 回答