加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

plone – Diazo将不需要的html标头添加到json响应中

发布时间:2020-12-14 22:34:23 所属栏目:资源 来源:网络整理
导读:我有一个空白的Plone 4.1站点,只安装了collective.quickupload.上传portlet工作正常,直到我安装plone.app.theming并应用我的主题.文件仍然上传,但Web客户端状态为“失败”. 检查来自服务器的ajax响应我发现它们被html标头包裹. 旧的响应(在安装diazo应用我的
我有一个空白的Plone 4.1站点,只安装了collective.quickupload.上传portlet工作正常,直到我安装plone.app.theming并应用我的主题.文件仍然上传,但Web客户端状态为“失败”.

检查来自服务器的ajax响应我发现它们被html标头包裹.
旧的响应(在安装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中添加一个异常,指定不将主题应用于特定视图,如下所示:
<notheme if-path="myjson_view"/>

编辑:

我尝试过我的一个重氮主题和一个json视图,我没有你的问题.所以我认为问题出在rules.xml或json视图中.您应该尝试以下两种方式之一:

>以这种方式更改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>

>您是否已经指定了输出的“内容类型”
你的json视图?像这样:

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

如果没有,那可能就是问题所在.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读