Delphi Restful之客户端javascript与中间件服务器交互
目录
delphi Restful:与三层服务器交互(之客户端javascript)
一、JavaScript发请求(HttpRequest)给delphi三层服务器响应(Response)
1.01、截自《JavaScript中发出HTTP请求最常用的方法》
https://www.jb51.net/article/143683.htm
一、JavaScript发请求(HttpRequest)给delphi三层服务器响应(Response)
1.01、截自《JavaScript中发出HTTP请求最常用的方法》
https://www.jb51.net/article/143683.htm
01.1、Ajax方法
步骤:
(1)、初始化一个新的XMLHttpRequest()方法;
(2)、open()方法将HTTP方法(get、post、put等)和URL端点绑定在一起;
(3)、调用send()方法来触发上述请求;
(4)、用XMLHTTPRequest.onreadystatechange包含要在readystatechanged事件触发时调用的事件处理程序的属性将HTTP响应输出。
01.2、jQuery方法
01.2.1、$.ajax
01.2.2、$.get方法
01.2.3、$.post
01.2.4、$.getJson
01.2.5、整合上述jQuery的方法:$.ajax方法
jQuery具有所有这些方法来请求或将数据发布到远程服务器。但实际上你可以将所有这些方法合而为一:$.ajax方法
01.3、Fetch
01.3.1、标准Fetch
fetch是一个新的功能强大的Web API,可以让您发出异步请求。事实上,这fetch是制作HTTP请求的最佳和最喜欢的方式之一。它返回一个“Promise”,这是ES6的一大特色。 如果你不熟悉ES6,你可以阅读一下关于ES6的文章。Promise允许我们以更智能的方式处理异步请求。
它返回一个“Promise”,这是ES6的一大特色。ES6:ECMAScript 6(简称ES6),使JavaScript模块化(module)。
01.3.2、带其他模块和插件的Fetch,比如Axios
Axios是一个用于发出HTTP请求的开源库,并提供许多强大的功能。我们来看看它是如何工作的。
用法: 首先,您需要包含Axios。有两种方法可以在项目中包含Axios。 首先,你可以使用npm: npm install axios --save
然后你需要导入它 import axios from 'axios'
Axios返回“Promise”。如果您熟悉promises,您可能知道promise可以执行多个请求。您可以使用axios执行相同的操作并同时运行多个请求。
二、JavaScript异步加载线程
2.01、截自《js异步加载与时间线》
https://www.cnblogs.com/lyx1014/p/11094067.html
https://blog.csdn.net/weixin_33722405/article/details/94678418
三、小结
按照上述方法,因为你在自己的服务器端提供了Restful的API的调用方法,因而在任何客户端(手机App或WAP触屏H5、手机微信(或QQ)、电脑端微信(或QQ)、电脑端浏览器、电脑端App等),均可以JS方式或Delphi FMX、Delphi VCL的THttpNetClient等的方式,对你自己的服务器上的微信服务单元进行请求和响应。
3.1、以delphi的方式调用服务器的Rest API方法
建议采用NetHTTP的Rest技术体系,详见:
《delphi Restful:客户端实现的四种方式及其比较》 https://blog.csdn.net/pulledup/article/details/104132753
有购买高勇“三层Rest服务器”源码的朋友,可直接使用其中的GY_ServerFunctions函数库。
3.2、以伴随http下载或async src路由到本地的javaScript或jQuery的方式调用服务器的Rest API方法
请参考网友文章:
3.2.1、《JavaScript中发出HTTP请求最常用的方法》:https://www.jb51.net/article/143683.htm。
3.2.2、《js的http请求中请求头和响应头包含哪些内容》:https://blog.csdn.net/weixin_37861326/article/details/82216068。
3.2.3、《JavaScript高级程序设计--在HTML中使用JavaScript》:https://blog.csdn.net/weixin_37861326/article/details/80998668。
四、本博客相关博文
《Delphi调用微信原生Web开发接口JS-SDK开发小程序及微信支付等》 https://blog.csdn.net/pulledup/article/details/109257077
《腾讯云聚合支付平台Restful API,支付开发的又一福音,同时支持微信支付和支付宝》 https://blog.csdn.net/pulledup/article/details/109520247