Delphi Xe DataSnap Rest + Flex 开发 基本探索5(Rest 服务参数传递)
2014-09-04 16:00
561 查看
在读本文章前请参考 前面的文章 介绍
之前的文章都是介绍如何 从datasnap rest服务器读取数据,下面的文章将介绍前台如何传递参数到datasnap服务器,并介绍 rest服务模式参数的传递问题
1.delphi datasnap写的rest服务 基本都是以方法或函数的形式,既然是函数 那就能接受前台传递的参数,通过参数返回需要的值
2.rest 模式的普通参数传递 只需要在 地址后面 /参数1/参数2 等方式加参数
read.Load('datasnap/rest/TSMTest/ReverseString/'+edtPstr.text+'/123');
如图
![](http://img.blog.csdn.net/20140904160545181?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGVjb25nemhlbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
后台代码如下
前台代码
这是最简单的传递 字符串,向int 等都可以这样传递
2.传递 数组 参数 到后台 效果如上图
后台代码
前台代码
哎 看到博客的同学 有福气啊,这块 我搜索了无数的资料 才 搞出来 现在奉献给大家
之前的文章都是介绍如何 从datasnap rest服务器读取数据,下面的文章将介绍前台如何传递参数到datasnap服务器,并介绍 rest服务模式参数的传递问题
1.delphi datasnap写的rest服务 基本都是以方法或函数的形式,既然是函数 那就能接受前台传递的参数,通过参数返回需要的值
2.rest 模式的普通参数传递 只需要在 地址后面 /参数1/参数2 等方式加参数
read.Load('datasnap/rest/TSMTest/ReverseString/'+edtPstr.text+'/123');
如图
后台代码如下
function TSMTest.ReverseString(Value: string;id:integer): string; begin Result := inttostr(id)+ StrUtils.ReverseString(Value); end;
前台代码
protected function btnPstr_clickHandler(event:MouseEvent):void { var read :ReadDataFromServer = new ReadDataFromServer(); read.onLoadComplete = onStrParam; read.Load('datasnap/rest/TSMTest/ReverseString/'+edtPstr.text+'/123'); } public function onStrParam(e:Event):void{ edtPstrRe.text = JSON.decode(e.target.data).result[0]; }
这是最简单的传递 字符串,向int 等都可以这样传递
2.传递 数组 参数 到后台 效果如上图
后台代码
function TSMTest.SetArr(JsonStr:string): string; var i:integer; jsonObj:TjsonObject; jsonArr:TJSONArray; begin FrmMain.Memo1.Lines.Add('jsonValue:'+JsonStr); //FrmMain.Memo1.Lines.Add('jsonArrstr:'+JsonObj.ToString); jsonObj := TJSONObject.ParseJSONValue(jsonStr) as TJSONObject; jsonArr := jsonObj.Get(0).JsonValue as TJSONArray; jsonArr := jsonArr.Get(0) as TJSONArray; FrmMain.Memo1.Lines.Add('jsonArrsize:'+inttostr(jsonArr.Size)); for I := 0 to jsonArr.Size-1 do begin FrmMain.Memo1.Lines.Add(inttostr(i)+':'+jsonArr.Get(i).Value); result := result+jsonArr.Get(i).Value+','; end; end;
前台代码
protected function btnPArr_clickHandler(event:MouseEvent):void { var read :ReadDataFromServer = new ReadDataFromServer(); read.onLoadComplete = onArrParam; var arr:Array=['abc','efd',123]; var str :String ='{"Array":['+ JSON.encode(arr)+"]}"; read.Load('datasnap/rest/TSMTest/SetArr/'+str); } public function onArrParam(e:Event):void{ edtPArr.text = JSON.decode(e.target.data).result[0]; }
哎 看到博客的同学 有福气啊,这块 我搜索了无数的资料 才 搞出来 现在奉献给大家
![](http://static.blog.csdn.net/xheditor/xheditor_emot/default/wail.gif)
相关文章推荐
- Delphi Xe DataSnap Rest + Flex 开发 基本探索1
- Delphi Xe DataSnap Rest + Flex 开发 基本探索2(取得Json 数组)
- Delphi Xe DataSnap Rest + Flex 开发 基本探索4(返回字节流 stream)
- Delphi Xe DataSnap Rest + Flex 开发 基本探索3(取得后台 DataSet 数据集)
- Delphi Xe DataSnap Rest + Flex 开发 基本探索6(flex 前台 Post 字节流 参数)
- 我的在线讨论和白皮书关于Delphi XE开发REST服务用DataSnap
- delphi xe datasnap rest 相關
- ASP如何调用Delphi开发的DataSnap/Restful接口服务
- delphi XE Datasnap SERVER 在windows 7 下为服务添加描述信息
- Delphi2010中DataSnap高级技术(1)—为DataSnap系统服务程序添加描述
- Delphi2010中DataSnap高级技术(6)—加强服务程序对访问者的控制能力
- Delphi XE程序设计系列 2-开发DataSnap/REST服务器
- Delphi XE程序设计系列 2-开发DataSnap/REST服务器
- DATA SNAP REST 服务 HTML页面乱码问题
- 视频:连接 Android应用和DataSnap服务-巴西 2010 Delphi 大会
- Delphi XE程序设计系列 2-开发DataSnap/REST服务器
- DATA SNAP REST 服务 HTML页面乱码问题 .
- (DELPHI_XE)Datasnap 'ERROR_CODE'. The allowed range is 0 to 4294967295'
- 桥接让XE2 DATASNAP中间层支持DELPHI低版本开发客户端
- Delphi XE程序设计系列 2-开发DataSnap/REST服务器