`
yipsilon
  • 浏览: 244768 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

CMSPAD中新加的一个小特性:JSON服务

阅读更多
很多界面效果库都是使用JSON来提供服务的,例如ExtJS等。因此,为了更好的兼容这些类库,我们为CMSPAD增加了一个JSON服务的特性。

同样地,它也是通过Portlet来对页面进行服务的:
class SimplePortlet extends Portlet{

  // 直接返回JSON字符串
  public function jsonMyService1(){
    return '{"hello":{"world":"JSON 测试"}}';
  }

  // 返回对象时,自动转换成JSON字符串
  public function jsonMyService2(){
    return array('hello' => array('world' => 'JSON 测试'));
  }
}

而在客户端的代码中,我们可以这样调用:
<script type="text/javascript">
function callJSON(o){
  alert(o.hello.world);
}
</script>
<button type="button" onclick="cmspad.json('SimplePortlet.myService1', callJSON);">JSON 测试</button>

下面看一下在实际应用中的JSON服务:我们在经典的ExtJS Desktop 2.0演示中,可以通过远程调用来进行对桌面进行配置。源代码如下:
getDesktopConfig : function(){
  // can call server for saved module id's
  Ext.Ajax.request({
    success: function(o){
      var decoded = Ext.decode(o.responseText);
			
      if(decoded.success){
        this.initDesktopConfig(decoded.config);
      }else{
        // error
      }
    },
    failure: function(){
      // error
    },
    scope: this,
    url: 'php/DesktopConfig.php'
  });
}

上面的代码是使用Ext自带的AJAX组件进行远程调用的,而如果要使用CMSPAD的PHPortlet技术,该怎么办呢?
getDesktopConfig : function(){
  var desktop = this;
  cmspad.json('SimplePortlet.myDesktopExample', function(o){
    desktop.initDesktopConfig(o.config);
  });
}

这样,与ExtJS的整合即可完成。
分享到:
评论

相关推荐

    基于matlab实现BA无标度网络拓扑生成算法,BA模型有两个重要特性:增长特性和优先连接特性.rar

    本压缩包文件包含了一个基于MATLAB实现BA无标度网络拓扑生成算法的程序,让我们深入探讨这个模型以及MATLAB在其中的角色。 **BA模型的两个关键特性:** 1. **增长特性(Growth)**:BA模型假设网络是动态增长的,...

    20210801-东亚前海证券-中新集团-601512-首次覆盖报告:中新合璧,打造“一体两翼”园区综合运营商.pdf

    2. 业务板块:中新集团的业务板块被分为四个主要部分:园区开发运营、产业载体配套、绿色公用以及多元化服务。这表明中新集团不仅在传统园区开发上拥有优势,还在产业服务、环境保护及增值服务上进行多元化布局。 3...

    中新药业:中新药业招股说明书.PDF

    总的来说,中新药业的招股说明书提供了一个全面的视角,让投资者了解公司的基本情况、未来计划和潜在风险,以帮助投资者做出投资决策。投资者需仔细阅读并理解其中的信息,以评估投资中新药业的潜在回报和风险。

    20210629-长城证券-中新药业-600329-公司深度报告:中新药业的资源、潜力及机会.pdf

    中新药业在医药资源的开发上潜力巨大,尤其是速效救心丸这一独家品种,预期在未来十年中,量和价格的增长潜力将远超过过去的增速。此外,公司当前的销售费用率较高,存在进一步下降的空间。在公司治理机制得以优化的...

    中新集团:中新集团2021年半年度报告.zip

    【描述】:“中新集团:中新集团2021年半年度报告.zip”是一个压缩文件,其中包含了中新集团2021年上半年度的详细报告。ZIP格式是一种常见的文件压缩格式,用于将多个文件打包成一个单一的文件,以便于存储、传输和...

    中新金盾抗拒绝服务(DOS/DDOS)系统技术白皮书

    拒绝服务攻击(DOS/DDOS)是近年来愈演愈烈的一种攻击手段,其主要目的是造成目标主机的TCP/IP协议层拥塞、或者导致应用层异常终止而形成拒绝服务现象。中新金盾防火墙针对基于Internet的信息平台,需要对不可控网络...

    jquery.json-1.3.js

    ecshop中新定义的json文件, 提供给大家下载哦!!!

    swift-展示Swift4.2中新特性示例的Xcodeplayground

    总的来说,通过这个"swift-展示Swift4.2中新特性示例的Xcodeplayground",开发者可以深入了解并实践Swift 4.2的每一个新特性,提升自己的Swift编程技能。无论是对于初学者还是经验丰富的开发者,都是一个宝贵的资源...

    中新力合“云融资服务平台”介绍.docx编程资料

    **中新力合“云融资服务平台”**是一个旨在解决中小企业融资难题的综合性平台。该平台利用云计算技术,通过标准化和规范化的金融服务管理,构建了一个开放式的金融服务池。此平台面向中小企业,能够根据其特定需求...

    中新集团:中新集团2021年半年度报告.PDF

    【中新集团2021年半年度报告】是中新苏州工业园区开发集团股份有限公司对2021年上半年运营状况的详尽总结。报告展示了公司在该时段的财务状况、业务进展以及潜在风险,旨在为投资者和相关利益方提供真实、准确、完整...

    flex java环境中需要在tomcat的webapp中新加的war文件

    标题和描述中提到的"flex java环境中需要在tomcat的webapp中新加的war文件",实际上是指要将包含BlazeDS服务的WAR文件添加到Tomcat服务器的web应用程序结构中。这个WAR文件通常名为`blazeds.war`或`flex-services....

    中新药业-600329-公司深度报告:混改落地将会开启公司价值回归之路.zip

    【中新药业-600329-公司深度报告】主要关注的是中国中药行业的领军企业中新药业在混改(混合所有制改革)后的变化和发展前景。混改是中国国有企业改革的重要举措,旨在通过引入非国有资本,提升企业的活力、竞争力和...

    中新智擎想让服务机器人真正落地.pdf

    【中新智擎——服务机器人落地应用的先行者】 中新智擎是一家专注于服务机器人领域的创新企业,成立于2015年,近期获得了招商系中白产业投资基金的A轮融资,金额达到数千万美元。与市面上众多服务机器人公司不同的...

    中新控股:2019年报.PDF

    GEM被设定为一个主要接纳小型和中型企业上市的市场,与主板相比,这些公司可能带有更高的投资风险。投资者应充分认识到这种风险,并在做出投资决策前进行充分且审慎的考虑。由于GEM上市的公司通常规模较小,其证券...

    中新天津生态城智慧城市平台.docx

    中新天津生态城智慧城市平台作为这样的典范,旨在通过先进的科技手段,打造一个可持续发展、生态友好且管理高效的新型城市。 1. 背景介绍 中新天津生态城智慧城市平台的建设源于对环保、可持续性和生活质量的追求...

    18.广州中新知识城规划咨询与服务专题研究2010——中规院.zip

    广州中新知识城的规划,旨在打造一个集知识创新、科技研发、商务办公和宜居生活于一体的现代化新城。规划可能涵盖了以下几个关键点: 1. 土地利用规划:分析了现有土地资源,合理划分工业、商业、居住、绿地等功能...

    P04:UNIX V6++中新进程的创建与父子进程同步1

    当`fork()`被调用时,它会创建一个新的进程,这个新进程被称为子进程,而原来的进程则继续存在,称为父进程。子进程继承父进程的所有资源,但拥有独立的进程ID(PID)。在代码2中,可以看到`fork()`在循环中被调用,...

    中新赛克:首次公开发行股票招股说明书.PDF

    此次新股发行的背景和目的是为了提升中新赛克的资本实力,扩大市场份额,同时也为投资者提供了一个参与公司成长的机会。通过上市,公司可以利用募集的资金进行技术研发、市场拓展、优化运营等方面的投资,以提高核心...

    中新猕猴桃贸易商务谈判剧本.doc

    【中新猕猴桃贸易商务谈判剧本】 在本次中新猕猴桃贸易商务谈判中,涉及到的主要角色包括双方的高层管理团队、财务、市场、采购、法律和技术部门的关键人员,以及翻译和辅助人员。以下是对各角色及其职责的详细阐述...

    CiteSpaceⅡ:科学文献中新趋势与新动态的识别与可视化.zip

    CiteSpaceⅡ是一款强大的科学文献分析和可视化工具,它为学者和研究人员提供了一种有效的方式来探索和理解特定学科或知识领域内的趋势、热点以及新兴主题。通过使用CiteSpace,用户可以对大量的学术文献进行深入挖掘...

Global site tag (gtag.js) - Google Analytics