Lakeshore Ajax请求详解

前言

这几天在做Lakeshore的开发,涉及到前端的Ajax操作。
不得不说Lakeshore本身的Ajax操作已经比较完善了,不过要实际使用起来还是有一点小麻烦,因此在此记录一下Ajax的常规操作流程。

Springboot后台做登陆操作

本人以前常用Springboot做服务器,拿一个现成的服务器,在Lakeshore上对着服务器做个登陆操作吧:
1.先在原场景中创建一个文本框,用来显示Ajax返回的信息
文本框准备工作
2. 在事件表中创建一个事件,触发条件为场景初始化完成启动,然后发送一个Ajax请求到指定链接上,具体参数如下,注意此处的数据一定要写成’param1=xxx&param2=yyy’之类的,因为Lakeshore本身使用的请求头中已经限制了Content-Type(大家也可以自行修改请求头来发送别的格式的数据),然后后台服务器需要使用param形式接收数据,不能使用data形式接收数据(以SpringBoot为例,服务器开发者需要用RequestParam接收,而不是RequestBody,即使是一个POST的API):Ajax请求事件编辑
3. 然后我们可以使用Ajax.getData(‘message’)来获取响应信息。但是上述步骤中我们只是完成了Ajax请求,但是不能保证已经获取了服务器请求的数据(因为网速问题),所以要注意,这里 不能 直接在原来的事件上紧接着将Ajax的请求数据(也就是我们设定的标记为message的Ajax返回值)显示到文本框,事件的动作本身可能异步(涉及到工具实现的底层,还没仔细了解,不过有些操作是同步的),因此我们必须保证Ajax请求完成并响应之后再对返回值做操作,于是我们需要再添加一个事件,条件就是’message’标记的Ajax完成,然后赋值给文本框:Ajax响应事件编辑
4. 万事俱备,现在就可以运行了!运行结果如下:运行效果
5. 然后我们可以使用js内置的JSON相关的方法来处理这些数据,现在我们改写一下,让这个文本框只显示响应信息中的code属性,只需要修改事件动作中文本内容即可,操作如下:修改文本内容
6. 然后再次运行就会显示成如下效果:修改后的效果
但是当返回值被重复使用多次时每次使用JSON.parse再取值非常的麻烦,而且一旦Ajax的请求数据需要保存的话,响应结果最多存活至下一个同标记请求开始。不过好在我们可以将JSON.parse的结果保存在一个全局变量之中,再读取全局变量即可,具体步骤如下:
1.创建全局变量(如data):
在这里插入图片描述
2.获取请求之后将Ajax响应结果反序列化后保存至data,因为底层的js是弱类型语言,因此我们可以对number类型的变量赋一个Object对象,只要保证变量不会被错误使用在其他事件中的话就不需要过度在意这个number类型:保存至全局变量
3.然后我们就可以赋data的属性值code给文本框啦:赋data的属性值给文本框
4.效果如下:效果图
除了能够保存给全局变量以外,我们也可以将其保存到很多其他的地方,如某个物体的自定义变量、某些组件的属性等等。在项目中应该怎么做就需要看具体设计如何了。
以上就是 在Lakeshore中使用Ajax请求的具体操作介绍。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值