DataSnap Rest 服务器网络分配器返回格式定义

来源:互联网 发布:狂人日记读后感知乎 编辑:程序博客网 时间:2024/05/19 03:20
1、如果后台网络分配器格式 Handled=True 时,前台返回的结果为数组[] ,不带result节点
procedure TWebModule1.DSHTTPWebDispatcherFormatResult(Sender: TObject;
  var ResultVal: TJSONValue; const Command: TDBXCommand; var Handled: Boolean);
begin
  Handled := True;
end;


2、如果后台网络分配器格式 Handled=True 时,取返回返回数组的第一个值时,
前台返回的结果是后台API返回的什么就是什么。
procedure TWebModule1.DSHTTPWebDispatcherFormatResult(Sender: TObject;
  var ResultVal: TJSONValue; const Command: TDBXCommand; var Handled: Boolean);
var
  JSONValue: TJSONValue;
  temp: string;
begin
  temp:= Command.Text.Substring(0, 4);
  if temp.ToUpper = '类名.API方法名' then
  begin
    Handled := True;
    JSONValue := ResultVal;
    ResultVal := TJSONArray(JSONValue).Get(0);
    TJSONArray(JSONValue).Remove(0);
    JSONValue.Free; 
  end;

end;

注意:网络分配器格式改动的话,前台如果用html + javascript 来实现的话,相关文件也要改动,比如,DataSnap生成的connection.js、

serverfunctioninvoker.js、serverfunctions.js都要有改动。


阅读全文
0 0
原创粉丝点击