Delphi中idhttp.post方式调用datasnap rest远程方法

idhttp.get方式调用,这种比较简单,大家都会。post方式网上却没有任何成功的代码,本人也是摸索了一个上午才搞定。

分享给大家。

(1)post方式调用的远程方法,方法名必须加“update”前缀,不加行不?你试下啦。

function TServerMethods1.updateecho(const value: String): String;
begin
Result := value;
end;

更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/Delphi/

(2)客户端调用,参数必须是JSON格式的字符串。 客户端POST方式调用时,远程方法名必须去掉“update”前缀字符串,DATASNAP似乎不讲道理。

procedure TForm1.Button1Click(Sender: TObject);
var
url:string;
param:TStringStream;
begin
url:='http://localhost:8080/yn/rest/TServerMethods1/echo/';
param := TStringStream.Create;
param.WriteString('"demo"');
Caption := http.Post(url,param);
param.Free;
end;

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索远程
, 方法
, 远程调用
, 前缀
, datasnap
, param
, 方式
, 必须
调用方式
,以便于您获取更多的相关知识。

时间: 2024-08-30 10:02:59

Delphi中idhttp.post方式调用datasnap rest远程方法的相关文章

JSP+jquery使用ajax方式调用json的实现方法_JSP编程

本文实例讲述了JSP+jquery使用ajax方式调用json的实现方法.分享给大家供大家参考,具体如下: 前台: <script type="text/javascript" src="jquery-1.5.1.min.js"></script> <script type="text/javascript"> //test function test(uid) { if(confirm("确定该用户

Delphi中动态链接库两种调用方式的比较

一.动态链接库的概念 动态链接库(Dynamic Link Library,缩写为DLL)是一个可以被其它应用程序共享的程序模块,其中封装了一些可以被共享的例程和资源.动态链接库文件的扩展名一般是dll,也有可能是drv.sys和fon,它和可执行文件(exe)非常类似,区别在于DLL中虽然包含了可执行代码却不能单独执行,而应由Windows应用程序直接或间接调用. 动态链接是相对于静态链接而言的.所谓静态链接是指把要调用的函数或者过程链接到可执行文件中,成为可执行文件的一部分.换句话说,函数和

浅议Delphi中的Windows API调用

为了能在Windows下快速开发应用程序,Delphi对Windows的控件都进行了很好的封装,这样,我们就可以直接使用Delphi的控件来编写程序,而不用使用格式.调用控制复杂的API来进行开发,为我们节省了大量的开发时间. 可有时候这些控件解决不了我们的问题,这个时候我们就不得不使用API了,也就是Windows的应用程序接口.这样,问题也就随之而来了,API是用C++语言编写的,而Delphi的脚本语言是PASCAL,两者使用的数据类型是不兼容了.那么,如何在Delphi中调用数据类型不兼

Delphi中取得系统支持的颜色数的方法

在自己的软件中经常需要得知运行本软件的系统支持的颜色数.例如有的软件在16Bits的颜色数的计算机上开发而成,程序的颜色调试得非常漂亮,但是到了一台只支持16色的计算机上,程序变得非常难看.这就需要得到系统的颜色数. Delphi中如何取得系统的颜色数呢?下面的程序就解决这个问题. function GetSysColorNum:Integer; Var ScreenDc:HDC; NumBitsPixel:Integer; begin Result:=0; ScreenDc:=GetDC(0)

Delphi中正则表达式之TPerlRegEx类的属性与方法(2) 关于子表达式

// MatchedExpression 与 SubExpressions[0] var reg: TPerlRegEx; begin reg := TPerlRegEx.Create(nil); reg.Subject := 'CodeGear Delphi 2007'; reg.RegEx := 'Delphi'; while reg.MatchAgain do begin ShowMessage(reg.MatchedExpression); //Delphi; 这是匹配到的内容 Show

Delphi中正则表达式之TPerlRegEx类的属性与方法(1) 查找

//查找是否存在 var reg: TPerlRegEx; begin reg := TPerlRegEx.Create(nil); reg.Subject := 'CodeGear Delphi 2007 for Win32'; reg.RegEx := '\d'; if reg.Match then ShowMessage('找到了') else ShowMessage('没找到'); FreeAndNil(reg); end; //查找是否存在(方法2) var reg: TPerlReg

Delphi中正则表达式之TPerlRegEx类的属性与方法(7) Split函数

//字符串分割: Split var reg: TPerlRegEx; List: TStrings; begin List := TStringList.Create; reg := TPerlRegEx.Create(nil); reg.Subject := 'aaa,bbb,ccc,ddd'; reg.RegEx := ','; {这里可是运行相当复杂的分割符啊} reg.Split(List,MaxInt); {第一个参数读入的是 Subject; 第二个参数是分成 多少份} { 输入一

Delphi中正则表达式之TPerlRegEx类的属性与方法(6) EscapeRegExChars函数

// EscapeRegExChars 函数可以自动为特殊字符加转义符号 \ var reg: TPerlRegEx; begin reg := TPerlRegEx.Create(nil); reg.Subject := 'C++Builer'; reg.RegEx := reg.EscapeRegExChars('C+') + '{2}'; {相当于 'C\+{2}'} reg.Replacement := '◆'; reg.ReplaceAll; ShowMessage(reg.Subje

Delphi中正则表达式之TPerlRegEx类的属性与方法(5) Compile、Study

// Compile.Study var reg: TPerlRegEx; begin reg := TPerlRegEx.Create(nil); reg.RegEx := 'ab'; reg.Options := [preCaseLess]; reg.Compile; {编译表达式} reg.Study; {Study 方法会检查是否编译, 如果没有编译则执行 Compile} reg.Replacement := '◆'; reg.Subject := 'abAbaB'; reg.Repl