gpt4 book ai didi

plone - Diazo 将不需要的 html header 添加到 json 响应中

转载 作者:行者123 更新时间:2023-12-03 01:33:10 25 4
gpt4 key购买 nike

我有一个空白的 Plone 4.1 站点,仅安装了 Collective.quickupload。上传 portlet 工作正常,直到我安装 plone.app.theming 并应用我的主题。文件仍在上传,但 Web 客户端处于“失败”状态。

检查服务器的 ajax 响应,我发现它们被 html header 包裹。旧的响应(在安装 Diazo 并应用我的主题之前)很简单

{"success":true}

新响应(安装 diazo 并应用我的主题后)被 html 标签包裹:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><body><p>{"success":true}</p></body></html>

我已将我的rule.xml 文件粘贴到此处(没什么特别的,只有一个由css:if-content="#visual-portal-wrapper"调节的规则):http://pastebin.com/SaK13Fni

我应该怎么做才能解决这个问题?

谢谢

最佳答案

要避免这种行为,您必须在 rules.xml 中添加一个异常(exception),指定不将主题应用到特定 View ,如下所示:

<notheme if-path="myjson_view"/>

编辑:

我尝试过使用我的 Diazo 主题之一和 json View ,但没有遇到您的问题。所以我认为问题出在你的rules.xml 或你的json View 中。您应该尝试以下两种方法之一:

  1. 按如下方式更改您的 rules.xml:

       <rules
    xmlns="http://namespaces.plone.org/diazo"
    xmlns:css="http://namespaces.plone.org/diazo/css"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <!-- Prevent theme usage in zmi-->
    <rules css:if-content="#visual-portal-wrapper">
    <theme href="index.html" />
    </rules>
  2. 您是否已在中指定输出的“内容类型”你的 json View ?像这样:

    self.request.response.setHeader("Content-type","application/json")
    return json_data

    如果不是,那可能就是问题所在。

关于plone - Diazo 将不需要的 html header 添加到 json 响应中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7512183/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com