后台返回值方式_beMyselfeveryday的博客-程序员宝宝_后台返回值{name='zep'}

技术标签: easyui  JSON  

上午:
后台返回值方式
第一种:value为字符串
后台程序:
             //DTO_Uniform _dto = new DTO_Uniform();
             //_dto.IsSuccess = true;
             //_dto.value = "123";
             //return _dto;
前台js代码:
              var  url =  "HandlerTest.ashx" ;
            var  serverParams = { test:  "测试.jpg"  };
           var  ajaxParams = {
        serverUrl: "BS_Test/doTest" ,
        serverParam: JSON.stringify(serverParams)
                        };
     var  data = CommonAjaxRequest(url, ajaxParams);
alert(data);


第二种:生成的是一个对象
  后台程序:
            #region  返回对象的
             DTO_Uniform  _dto =  new  DTO_Uniform ();
             Test  t =  new  Test (  "test1" );
             //JObject jobdy = new JObject();
             //jobdy.Add(new JProperty("test",JsonConvert.SerializeObject(t)));
            _dto.IsSuccess =  true ;
            _dto.value =  JsonConvert .SerializeObject(t);
             return  _dto;
            #endregion
前台js
var  url =  "HandlerTest.ashx"  ;
     var  serverParams = { test:  "测试.jpg"  };
     var  ajaxParams = {
        serverUrl:  "BS_Test/doTest" ,
        serverParam: JSON.stringify(serverParams)
    };
     var  data = CommonAjaxRequest(url, ajaxParams);
     var  str = data.value;
     var  json = JSON.parse(str); //得到的直接是json传中对应的值   例如{"A":"Test1"}得到的就是Test1
    alert(str);


第三种:后台得到的是List集合
后台:
            DTO_Uniform  _dto =  new  DTO_Uniform ();
            _dto.IsSuccess =  true ;
             List <  Test > list =  new  List <  Test >();
             Test  a1 =  new  Test (  "test1" );
             Test  a2 =  new  Test (  "test2" );
            list.Add(a1);
            list.Add(a2);
             JObject  jobj =  new  JObject ();
            jobj.Add(  "test" ,  JArray  .FromObject(list));
            _dto.value = jobj.ToString();

前台:
      var  url =  "HandlerTest.ashx" ;
     var  serverParams = { test:  "测试.jpg"  };
     var  ajaxParams = {
        serverUrl:  "BS_Test/doTest" ,
        serverParam: JSON.stringify(serverParams)
    };
     var  data = CommonAjaxRequest(url, ajaxParams);
     var  str = data.value;
     var  json = JSON.parse(str);
    alert(JSON.stringify(json)); //弹出的是{"test":[{"A":"test1"},{"A":"test2"}]}

下午
新框架与easyui datagrid结合测试例子
页面
注意的地方:因为js中有运用一些东西,所以必须要引入的东西有:
  < link  href  ="../JSLibrary/jquery-easyui/themes/default/easyui.css"  rel ="stylesheet"  />
     < link  href  ="../JSLibrary/jquery-easyui/themes/icon.css"  rel  ="stylesheet"  />
     < script  src  ="../JSLibrary/jquery-easyui/jquery.min.js"></  script >
     < script  src  ="../JSLibrary/jquery-easyui/jquery.easyui.min.js"></  script >
     < script  src  ="Test.js"></ script >
     < script  src  ="../AjaxToWcf/AjaxToWcf.js"></  script >
     < script  src  ="../AjaxToWcf/json2.js"></  script >
     < script  src  ="SYS_MultiLanguage.js"></  script >
     < script  src  ="../Common/MessageBox.js"></  script >
js代码:
/// Test.html页面 入口函数
$( function  () {
     // SYS_LANGUAGE.SetSYSLanguage();
    isReady();
});

function  isReady()
{
     var  url =  "BS_Test/doDataGridTest" ;
     var  ajaxParams = {
        serverUrl: url,
        serverParam:  '{}'
    };
     var  data = CommonAjaxRequest(  null , ajaxParams);
     var  str = data.value;
     var  str2 = JSON.parse(str);
     var  total = str2.total;
     var  rows = str2.rows;
     var  json = { total: total, rows: rows };
     //loaddate
    $( '#dg' ).datagrid(  'loadData' , json);
}


wcf 程序:
IService
:       [ OperationContract ]
        [  WebInvoke (UriTemplate =  "doDataGridTest" , Method =  "POST"  ,
            RequestFormat =  WebMessageFormat .Json, ResponseFormat =  WebMessageFormat .Json,
            BodyStyle =  WebMessageBodyStyle .WrappedRequest)]
         DTO_Uniform  doDataGridTest();
Service
 #region   对象
         private  BLL_Test  m_BS_Test =  IocHelper .Resolve<  BLL_Test >();
        #endregion
public  DTO_Uniform  doDataGridTest()
       {
            DTO_Uniform  _dto =  new  DTO_Uniform ();
           _dto.IsSuccess =  true ;
            string  str = m_BS_Test.getAll();
           _dto.value = str;
            return  _dto;
       }


Business Logic
BLL_Test:
 #region  对象
         private  ISTA_BZ  ista_bz {   get ;  set ; }
        #endregion

        #region  公共函数
         public  BLL_Test(  ISTA_BZ  ista_bz)
        {
             this .ista_bz = ista_bz;
        }
        #endregion

        #region  公共方法
         public    string  getAll()
        {
             string  str =  "" ;
             try
            {
                 List <  STA_BZInfo > list = ista_bz.GetAll();
                 JObject  objc =  new  JObject ();
                objc.Add(  new  JProperty (  "total" , list.Count()));
                objc.Add(  new  JProperty (  "rows" , JArray  .FromObject(list)));
                str=objc.ToString();
            }
             catch  (  Exception  ex)
            {
                 throw  new  Exception (  "" , ex);
            }
             return  str;
        }
        #endregion




版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u010158775/article/details/46547949

智能推荐

Makefile:2: missing separator. Stop._北雨南萍的博客-程序员宝宝

Makefile:2: missing separator. Stop. 在make命令后出现这种错误提示,是提示第2行没有分隔符。例如:1 target:prerequisites2 command……改为:1 target:prerequisites2     command……就可以了。在Makefile文件中,命令必须以【tab】键开始。

速度最快的Json序列框架Jil,入门动手实录_weixin_30390075的博客-程序员宝宝

好吧,我又先要贴出跑分图了,出处Jil是一个面向Json的序列化框架,在Nuget上可以下载到支持数据类型值得一提的是,Guid指定带破折号格式(44B2673B-B5CA-477B-A8EA-F7B673F5783E)也支持的哦,SQL SERVER,数据类型uniqueidentifier默认就是使用这种格式的,很方便。貌似在VS2010上安装不成...

Spark TaskSchedulerImpl TaskSet处理_thinktothings的博客-程序员宝宝

Spark TaskSchedulerImpl TaskSet处理更多资源SPARK 源码分析技术分享(bilibilid视频汇总套装视频): https://www.bilibili.com/video/av37442139/github: https://github.com/opensourceteams/spark-scala-mavencsdn(汇总视频在线看): https:...

鸿蒙系统卡顿解决方法,鸿蒙比安卓性能提升60%,还解决了安卓卡顿的问题,谷歌压力山大..._机长F的博客-程序员宝宝

鸿蒙比安卓性能提升60%,还解决了安卓卡顿的问题,谷歌压力山大手机是大家生活中的必备设备,并且大家对于手机的了解程度可以说是很深刻了,知道一部手机想要使用的时间久的关键就是处理器和内存。内存小的手机,因为存储不了那么多的东西就会挤压内存,导致没过多长时间就卡顿了。国内的手机都使用的是安卓系统,安卓系统有一个非常严重的通病就是手机使用两三年就有卡顿的现象,为了解决这一问题,国内的手机厂商就提高手机的...

经典IT博文推荐_程裕强的博客-程序员宝宝

序号 类别 标题 标题 1 Maven Maven 那点事儿 https://my.oschina.net/huangyong/blog/194583 2 Git Git教程 http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

awk数组用法_weixin_34021089的博客-程序员宝宝

本节需要练习的部分,需要文件请留言1.格式模块BEGIN{} 模块计算END{} 模块awk读取文件之后执行,先计算,最后END{}显示结果数组i++ ==== i=i+1 计算次数i+=$1 ==== i=i+$1计算总和2.awk进行过滤常用的条件或模式2.1正则表达式作为条件例1:前边$是以第几列为查找对象#显示出包含crond...

随便推点

TDDFT计算软件Octopus学习笔记(五):介电函数和吸收谱(ZnO)_ChenXiao_Jena的博客-程序员宝宝_光学介电函数

本文进行光学性质的计算,以ZnO的介电函数为例。Octopus以时间依赖密度泛函理论(TDDFT)为理论基础,对材料施加一定的外界扰动,通过一定时间的传播,搜集相应的响应数据,进而得出各种光学性质。

bzoj3124: [Sdoi2013]直径_Hanks_o的博客-程序员宝宝

题目传送门 。解法: 两个傻逼结论: 首先肯定在同一条直径上。因为每条直径都要经过这一段。 肯定是连续的一段。 因为如果你有两段的话。那么敢问这两段之间的路径你是怎么走过去的(树上两点路径唯一!)这样的话就很好做了。 随便找条直径。 在这条直径上确定一条路径。使得这条路径上: 任意一点都不可能从别的分支扩展出直径。 懒得画图直接文字描述。 假设求出了一条直径是1-&amp;gt...

Android 系统分身及应用多开实战 frida hook_gallonyin的博客-程序员宝宝_android13 系统分身

常见的分身/多开工具修改包名,早的时候可以,现在的应用,换包名功能就残缺不能好好用了…修改 Framework(Android多用户机制。例:小米分身、访客模式等),国产手机中挺常见。但如果系统不提供该功能,自己很难开分身,本文就是告诉你怎么开了它。通过虚拟化技术实现(例:360分身大师、LBE平行空间),这个应用索要权限非常高,别轻易使用非官方的该类软件。以插件机制运行目前很多人都...

建立CCS 3.3工程_hanchaoman的博客-程序员宝宝

1.如何为工程添加相应的include(.h)文件对pjt点右键,选择“Scan All File Dependencies”.2.编译错误 CCStudio_v3.3/C5500/csl/include/csl_chiphal.h", line 201:fatal error: #error NO CHIP DEFINED 如何解决解决办法:(摘自 这里)

如何通过python结合excel中的VBA和PQ做日报_cyber_1987的博客-程序员宝宝

vba是excel的老牌工具,PQ(power query)则是2013以来excel最伟大的更新,可以说100万以下的数据,用PQ&amp;amp;amp;amp;amp;amp;amp;gt;vba=Python(100万以上当然是Python+mysql了)PQ的使用核心在于通过外部链接数据源,用“全部刷新”,进而获得最新的数据而刷新完成后,可以结合VBA(也就是宏),把后续的工作一步完成但是全部刷新的动作属于后台操作,而且不同的电脑、不同...

小学生计算机课如何上,如何上好一堂小学信息技术课_lnstagram优选的博客-程序员宝宝

如何上好一堂小学信息技术课在我区小学中,现在大部分学校(乡镇中心小学)已经初步建成高标准的校园网络、标准化电脑教室,计算机课堂教学也已起步,大部分小学已经开设有信息技术课,信息技术教育教研也得到了较快的发展。通过几年来在一线的探索与实践,通过观摩同行的优质课,以及听取专家,同行前辈的理论讲解,经验交流,使自己对信息技术教育教学有了进一步的认识。那么怎样才能上好一堂成功的信息技术课呢?一、教学模式的...

推荐文章

热门文章

相关标签