【问题标题】:AJAX 404 after Upgrade to TYPO3 8.7升级到 TYPO3 8.7 后的 AJAX 404
【发布时间】:2017-04-13 16:53:25
【问题描述】:

我有两个相同的安装,除了 TYPO3 版本。两者都是全新安装,所以数据库应该是正常的。

在我的扩展程序中,我对一个页面进行了 AJAX 调用,该页面只包含我的 Content-type:application/html 插件。

在 TYPO3 v. 7.6.16 中,Ajax 响应是成功的。

在 TYPO3 v. 8.7 中,Ajax 调用失败并显示 404: not found。

除了 cHash 不同之外,网址是相同的。

有谁知道为什么会这样,我需要做什么来纠正这种情况?

【问题讨论】:

  • 如果 cHash 不同,可能在 TYPO3 8.7 中是 $GLOBALS['TYPO3_CONF_VARS']['FE']['cHashIncludePageId'] = true;对于新安装,此选项默认为 ON。请参阅安全问题typo3.org/news/article/cache-flooding-in-typo3-frontend
  • 如果您切换到Development 上下文,您是否仍会收到 404 或者是否有错误消息?
  • @undko Typo3 上下文设置为 Development,没有错误,遗憾的是。如果我通过 f:form pageType 参数添加 pageType,则会收到以下错误,尽管它并没有告诉我们更多信息...“Ajax 请求 - 错误:未找到”
  • @HeinzSchilling;我发现如果我设置 [FE] [pageNotFoundOnCHashError] = 0,那么 ajax 调用就可以了……我想我现在想知道;以这种方式设置它的缺点是什么,或者是否有办法为我的 Ajax 调用设置 cHash。感谢您的所有帮助和建议。
  • 停用 pageNotFoundOnCHashError 是否安全?

标签: ajax typo3 extbase typo3-7.6.x typo3-8.x


【解决方案1】:

您可以通过将带有 »f:uri.action« 的 js 变量传递到流体中的 ajax url 来生成 cHash 并避免 TYPO3_CONF_VARS 设置。

流体模板:

<script>
  var ajaxUrl = '<f:uri.action action="list" pageType="123456"/>';

  $.ajax({
      url: ajaxUrl,
      [...]

【讨论】:

    【解决方案2】:

    看这里:https://forge.typo3.org/issues/79970 转到 installtool 并取消选中:“pageNotFoundOnCHashError”。对我来说就是这样。

    【讨论】:

      猜你喜欢
      • 2018-05-15
      • 2018-12-15
      • 2019-05-13
      • 2017-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-13
      相关资源
      最近更新 更多