玉祥平台客服-15087858732

标题: ajax接口之二:调用服务 [打印本页]

作者: fteair    时间: 2020-2-21 09:29
(⊙v⊙)嗯。。。。。。。。。。
作者: 张军勇    时间: 2020-4-27 09:43
标题: ajax接口之二:调用服务
前面我们讲了如何登录系统,现在讲解如何通过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已示和链接参数的区别。
这样,就可以由服务程序自由处理了,如读取,保存数据等。









作者: 张军勇    时间: 2020-4-27 09:44
实际上,平台通过WebHandler.ashx进行了数据中转。对于b/s而言,返回值一定要是字符串,或者json字符串。
作者: 王爱东    时间: 2020-4-27 13:58
json对于二进制的咋办呢??不能传递这类数据了吧?还是都转化为字符
作者: 王爱东    时间: 2020-4-27 14:59
这个还真不会用。能不能有完整的示例呢?
作者: 刘亚东    时间: 2020-4-27 18:09
需要研究一下




欢迎光临 玉祥平台客服-15087858732 (http://bbs.delit.cn/) Powered by Discuz! X3.2