网络操作与接口请求

网络操作是现代网站程序开发中不可或缺的一部分,通过网络操作可以实现在前端对后端数据的链接,使程序更强大、功能更丰富。

在轻语言网站开发中,同样也支持网络操作,即在页面中与后端通信。

前端与后端的关系

在学习网络操作之前,我们必须先了解一个基础开发知识,即前端与后端分别是什么?他们有什么关系?为什么需要网络操作?

前端

前端在目前编程领域的开发工作,主要在于网站或应用程序的用户界面部分,也就是与用户直接交互的部分。涉及到的内容主要包括设计、用户体验以及如何将信息呈现给用户。大部分情况下前端侧重的更多的是能让用户看得到的界面,而非数据内容。

例如:

单纯的网站页面,APP,电脑端软件 都可以被概括为前端。

后端

后端开发则需要处理服务器、应用程序和数据库之间的通信。其主要职责是实现业务逻辑、管理数据存储与检索,并确保前端请求得到正确响应。后端主要的工作就是负责用户看不到的内容,例如:数据库操作。

例如:

MySQL操作、SQLITE操作等等。

两者关系

前端负责界面,后端负责数据。

前端与后端通过网络协议(通常是HTTP/HTTPS)进行通信。前端通过发送请求(GET、POST等)到后端提供的API接口来获取数据或执行某些操作。而后端接收这些请求,处理它们(比如查询数据库),然后返回相应的结果(JSON、XML等格式的数据)给前端。前端接收到这些数据后,将其展示给用户或者更新用户界面。

为什么需要网络操作?

因为前端网页代码运行在浏览器中,而处理数据库操作的代码运行在服务器中。

两者由于运行环境不在同一个环境中,因此在浏览器运行的前端代码,要想从服务器中获取数据、必须通过HTTP网络协议才行。

如何在轻语言网页中使用网络操作?

在轻语言中使用网络操作主要通过下面的函数。

发送GET请求

代码示例:

事件 按钮1.被单击(源对象,事件源)
    ' 单个请求可以直接使用 拉姆达表达式 接收请求结果
    变量 目标地址 = "http://localhost/dny/Api.php?a=测试输出"
    发送GET请求(目标地址,(请求结果,标记)=>{
        编辑框1.内容 = "单次GET请求:" + 请求结果
    })
结束 事件

事件 按钮3.被单击(源对象,事件源)
    ' 同时发送多个请求、可采用子函数接收请求结果,并通过标记区分
    变量 目标主机地址 = "http://localhost/dny/Api.php?a="
    发送GET请求(目标主机地址 + "Test2",接收GET请求子函数,"Test2")
    发送GET请求(目标主机地址 + "Test3",接收GET请求子函数,"Test3")
结束 事件

' 将请求集中到一个子函数中处理,通过标记区分
' 这个函数需要手动创建,函数名可以任意起名,但参数必须为:请求结果,标记
函数 接收GET请求子函数(请求结果,标记)
    编辑框1.追加文本行("批量GET请求标记:" + 标记 + ",请求结果:" + 请求结果)
结束 函数

发送POST数据

代码示例:

事件 按钮2.被单击(源对象,事件源)
    变量 目标地址 = "http://localhost/dny/Api.php?a=Post1"
    发送POST数据(目标地址,"key=VcnStudio666",(请求结果,标记)=>{
        编辑框1.内容 = "POST1:" + 请求结果
    })
结束 事件

事件 按钮4.被单击(源对象,事件源)
    变量 目标主机地址 = "http://localhost/dny/Api.php?a="
    发送POST数据(目标主机地址 + "Post1","key=123",接收POST请求子函数,"","Post1")
    发送POST数据(目标主机地址 + "Post2","sign=123456",接收POST请求子函数,"","Post2")
结束 事件

' 与接收GET请求的回调一样,其实可以直接回调函数指向GET请求子函数接收
' 但是为了便于区分,因此POST采用单独的子函数处理回调
函数 接收POST请求子函数(请求结果,标记)
    编辑框1.追加文本行("批量POST请求标记" + 标记 + ",请求结果:" + 请求结果)
结束 函数

请求接口

代码示例:

事件 按钮5.被单击(源对象,事件源)
    ' 请求接口 函数是对 GET与POST 请求的一个封装
    ' 支持直接访问当前程序中编写的后端接口中的函数,例如:分别访问GET与POST
    ' 发送GET请求
    请求接口("Api","Test2",(请求结果,标记)=>{
        编辑框1.追加文本行("通过接口请求发送GET请求:" + 请求结果)
    })
    ' 发送POST请求
    请求接口("Api","Post1",(请求结果,标记)=>{
        编辑框1.追加文本行("通过接口请求发送POST请求:" + 请求结果)
    },"key=123")
结束 事件

注意:在页面中发送网络请求,需要将编译输出的程序部署到支持PHP环境的本地WEB环境或上传到服务器中,然后打开网页才能看到效果。