度量快速开发平台-专业、快速的软件定制快开平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 部件 流程 SQL
查看: 2933|回复: 5
打印 上一主题 下一主题

[分享] ajax接口之二:调用服务

[复制链接]

78

主题

634

帖子

1598

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1598
跳转到指定楼层
楼主
发表于 2020-4-27 09:43:43 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
前面我们讲了如何登录系统,现在讲解如何通过ajax调用服务。在系统中,提供了两个接口,weblogin和WebHandler接口,
WebHandler接口用于调用服务,因服务是自由扩展,所以,在服务中,可以读取、存储数据、执行存储过程等操作。服务完全由C#编写,可以和C/S客户端通用。
调用服务的规则是:
  1. function loginout()
  2.         {
  3.         var url='Handler/WebHandler.ashx?QNAME=TEST_SERVICE&CMD=123';
  4.         var options = {
  5.         url:url,
  6.         type:'POST',
  7.         success: function(msg){if(msg=='0'){alert("成功。");}else{alert("失败。");}
  8.         };
  9.         $('#form1').ajaxSubmit(options);
  10.         return false;
  11.         }
复制代码

var url='Handler/WebHandler.ashx?QNAME=TEST_SERVICE&CMD=123';
在链接中,我们需要传入服务名称和服务号,用于指明调用哪个服务。在服务端后台中,这两个参数是自行定义,前端也是自行匹配。
然后通过ajax打包,将数据传后台进行处理。
如果是服务地址后面跟了其它参数,后台也会获取并传到服务中进行处理。


后台服务的编写:
继承ServiceBase,重写runCmd函数,和普通服务程序编写一样,但是唯一不同的是,传入的参数cmd.CommandData是一个Dictionary<string, object> 类型。
它包含了链接后面的参数和表单中的所有参数。表单参数名称后面都加了_FORM已示和链接参数的区别。
这样,就可以由服务程序自由处理了,如读取,保存数据等。








分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

78

主题

634

帖子

1598

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1598
沙发
 楼主| 发表于 2020-4-27 09:44:53 | 只看该作者
实际上,平台通过WebHandler.ashx进行了数据中转。对于b/s而言,返回值一定要是字符串,或者json字符串。
回复 支持 反对

使用道具 举报

198

主题

1313

帖子

3784

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3784
板凳
发表于 2020-4-27 13:58:32 | 只看该作者
json对于二进制的咋办呢??不能传递这类数据了吧?还是都转化为字符
回复 支持 反对

使用道具 举报

198

主题

1313

帖子

3784

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3784
地板
发表于 2020-4-27 14:59:00 | 只看该作者
这个还真不会用。能不能有完整的示例呢?
回复 支持 反对

使用道具 举报

67

主题

685

帖子

1815

积分

作者

Rank: 7Rank: 7Rank: 7

积分
1815
5#
发表于 2020-4-27 18:09:28 | 只看该作者
需要研究一下
回复 支持 反对

使用道具 举报

235

主题

2547

帖子

5835

积分

论坛元老

Rank: 8Rank: 8

积分
5835
6#
发表于 2020-2-21 09:29:57 | 只看该作者
(⊙v⊙)嗯。。。。。。。。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|重庆度量科技  本站关键词:快速开发平台

GMT+8, 2024-11-27 08:59 , Processed in 0.130099 second(s), 31 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表