kbmmw 中简单返回 extjs 数据JSON
以前,我们通过自己写json 来返回数据表的内容。在delphi 10.2.2中,官方自带了一个FDBatchMoveJSONWriter1
来直接处理数据库内容。把结果推送到浏览器客户端。
今天我们就利用kbmmw 自身的功能,做一个类似的东西。
在主界面放上相关的数据库访问控件

首先在服务上放两个东西

一个查询,一个kbmmwjsonstreamformat.
定义相关的函数
[kbmMW_Rest('method:get, path:getdata')]
[kbmMW_Method]
function getdata([kbmMW_Rest('value: "$tname", required: true')] const tname:string):string;
并完成对应的执行代码
function TkbmMWCustomHTTPSmartService1.getdata(const tname: string): string;
var
ms:Tstringstream;
sjson:TkbmMWJSONStreamer;
alljson,outjson: TkbmMWJSONObject;
datajson: TkbmMWJSONArray;
begin
if tname='' then
begin
result:='{"result":"表名为空!"}';
exit;
end;
cx.SQL.Clear;
cx.SQL.Add('select * from '+tname);
cx.Open;
if cx.IsEmpty then
begin
result:='{"result":"数据为空!"}';
exit;
end;
ms:=Tstringstream.Create;
sjson:=TkbmMWJSONStreamer.Create;
outjson:=TkbmMWJSONObject.Create; try
cx.SaveToStreamViaFormat(ms,kbmMWJSONStreamFormat1);
ms.Position:=;
alljson:=TkbmMWJSONObject(sjson.LoadFromUTF8Stream(ms));
datajson:=TkbmMWJSONArray(alljson.AsArray['data']);
outjson.AsArray[tname]:=datajson;
result:= sjson.SaveToUTF16String(outjson)
finally
ms.Free;
sjson.Free;
outjson.Free;
end; end;
由于kbmmw 的数据库存json , 包含了其它信息,我们就把不用的信息干掉。
完成后,运行程序
浏览器中输入对应的URL
http://127.0.0.1/xalionrest/getdata?tname=emp
就得到了输出结果

其实也是很方便的。
kbmmw 中简单返回 extjs 数据JSON的更多相关文章
- C#中当服务器返回的数据json中key的值为数字类型,解决方案
客户端向服务器发送请求后,服务器返回了一个json格式的字符串但是格式中key的值有些事数字{"1000":"55555"}; 类似这种格式的话就不能直接转化成 ...
- ionic中将service中异步返回的数据赋值给controller的$scope
1.service中异步获取数据实例 angular.module('starter.services', []) .factory('Chats', function($http,$q) {//定义 ...
- PHP中ajax返回数据类型为JSON数据的处理
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 【转】ASP.NET Core WebAPI JWT Bearer 认证失败返回自定义数据 Json
应用场景:当前我们给微信小程序提供服务接口,接口中使用了权限认证这一块,当我使用 JWT Bearer 进行接口权限认证的时候,返回的结果不是我们客户端想要的,其它我们想要给客户端返回统一的数据结构, ...
- 使用kbmmw smarthttpservice 简单返回数据库结果
这个很简单,直接上码. 服务器端声明过程 [kbmMW_Rest('method:get, path:querytable')] [kbmMW_Method] function querytable( ...
- 关于spring中请求返回值的json序列化/反序列化问题
https://cloud.tencent.com/developer/article/1381083 https://www.jianshu.com/p/db07543ffe0a 先留个坑
- Ajax在静态页面中向指定url发送json请求获取返回的json数据
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- kbmmw 中JSON 操作入门
现在各种系统中JSON 用的越来越多.delphi 也自身支持JSON 处理. 今天简要说一下kbmmw 内部如何使用和操作JSON. kbmmw 中json的操作是以TkbmMWJSONStream ...
- 为什么返回的数据前面有callback? ashx/json.ashx?的后面加 callback=? 起什么作用 js url?callback=xxx xxx的介绍 ajax 跨域请求时url参数添加callback=?会实现跨域问题
为什么返回的数据前面有callback? 这是一个同学出现的问题,问到了我. 应该是这样的: 但问题是这样的: 我看了所请求的格式和后台要求的也是相同的.而且我也是这种做法,为什么他的就不行呢? ...
随机推荐
- ucore-lab1-练习1report
练习1 report 问题1:OS镜像文件ucore.img是如何一步一步生成的(需要比较详细地解释Makefile中的每一条相关命令和命令参数的含义,以及说明命令导致的结果)? GNU make是一 ...
- 贪吃蛇Listener Java实现(二)
package cn.tcc.snake.listener; import cn.tcc.snake.antition.Sanke;//接口//处理用户按键事件public interface Sna ...
- Java自学之路(小白向)
首先学习一门语言无非就受教与自学两种方式,本博文针对自学(穷逼没钱报班,大学又不是计算机专业,只能自学啊) 开个玩笑,其实有很多人是适合自学的,下面介绍. 一.要充满自信我自己就可以学好(够面试用的入 ...
- HttpClient--使用HttpClient进行Get Post请求访问
在java后台开发中,我们有时候需要调用其他网站的接口进行数据的获取操作,我们一般会采用 1.java net 包中的URL 类,进行网络的数据获取 2.使用apache提供的HttpClient进行 ...
- 20165315 预备作业3 Linux安装及学习
20165315 预备作业3 Linux安装及学习 一.在自己笔记本上安装Linux操作系统 因为对操作电脑的不熟悉,我在第一项任务上就花费了一定的时间,在安装过程有如下问题: 我的电脑是苹果公司的M ...
- input 与raw_input的区别
input只能输入数字 raw_input 既可以输入数字也可以输入字符串 >>> input("input you name:") input you name ...
- Android View 深度分析requestLayout、invalidate与postInvalidate
前言 前几篇文章中,笔者对View的三大工作流程进行了详细分析,而这篇文章则详细讲述与三大工作流程密切相关的两个方法,分别是requestLayout和invalidate,如果对Viwe的三个工作流 ...
- Swift 小技巧 || 老偏方
自己平时用的时候,或者看别人有一些好用的技巧分享一下,希望大家能get到 1.关于颜色 2.关于标记 // TODO:这样的标记XCode8才有的 // FIXME:这个也是XCode8有的
- ios NSUserDefaults存储数据(偏好设置)
ios NSUserDefaults存储数据(偏好设置) 1.NSUserDefaults用于存储数据量小的数据,主要是用户配置,但也可以支持存储一些小数据包括:NSString, NSNumber, ...
- (八) .launch文件 ---编写简单的启动脚本文件
下面我们将介绍,如何编写一个启动脚本程序:(.launch文件) 还记得我们在 创建ROS软件包教程 中创建的第一个程序包(beginner_tutorials)吗,现在我们要使用它. 在 begin ...