zoukankan      html  css  js  c++  java
  • 解决了Extjs和Rails2.1结合的问题

    熟能生巧这句话一点都不假,昨天研究的Extjs与Rails2.1结合,由于to_json在Rails2.1中发生了变化,导致列表的内容出不来的问题,今天对研究Extjs进一步研究之后,有了一点眉目,刚吃完晚饭就开始坐回了电脑前改写代码验证自己的想法,经过几次的尝试,终于圆满解决了这个问题。

            解决的办法还得从to_json的变化说起,先来对比一下结果:

    rails2.02版本的to_json结果:

    {"results": 1, "posts": [{"updated_at": "2008/06/09 11:53:16 +0200",
    "title": "test", "published": true, "id": 1, "content": "contenu",
    "created_at": "2008/06/09 11:53:16 +0200"}]}


    而rails2.1版本的to_json结果:

    {"posts": [{"post": {"updated_at": "2008-06-09T07:56:46Z", "title":
    "test", "published": true, "id": 1, "content": "contenu", "created_at":
    "2008-06-09T07:56:46Z"}}], "results": 1}

    每个post之前都增加了一个“post”,我猜想to_json可能是从xml中学来的,这样一来,信息的层次感比以前强多了。

    那么,要解决这个问题,就需要告诉JsonReader新的Json文档结构,需要修改的代码如下:

    new Ext.data.JsonReader({
                                root: 'posts',
                                id: 'id',
                                totalProperty: 'results'
                            }

    改为:

    new Ext.data.JsonReader({
                                root: 'posts',
                                id: 'postid',
                                totalProperty: 'results'
                            }

    这样,Extjs就能正确识别信息了。不过这个方法只能是使用Ext.data.Store自己创建JsonReader的情况,如果使用Ext.data.JsonStore,那就需要等Extjs插件修改默认的JsonReader的代码了。

  • 相关阅读:
    使用 requests 维持会话
    使用 requests 发送 POST 请求
    使用 requests 发送 GET 请求
    requests 安装
    使用 urllib 分析 Robots 协议
    使用 urllib 解析 URL 链接
    使用 urllib 处理 HTTP 异常
    使用 urllib 处理 Cookies 信息
    使用 urllib 设置代理服务
    按单生产程序发布
  • 原文地址:https://www.cnblogs.com/hannover/p/1424130.html
Copyright © 2011-2022 走看看