自建前端页面用于测试中台接口代码

  项目使用前后端分离,我们开发基本是使用postman工具来测试,现在自己写一个简单的前端页面来测试中台接口,也顺便熟悉下前端的的基本写法。

需求

  中台已经写好了一个单选下拉框的接口,先写个前端来测试该接口

遇到的问题

  • 跨域问题:前端测试页面是单独开的项目,访问应用地址时会报跨域问题。
 	进入Chrome安装文件夹,新建一个chrome快捷方式,右键“属性”,“快捷方式”选项卡里选择“目标”,添加  --args --disable-web-security --user-data-dir=C:\MyChromeDevUserData 
通过快捷方式打开谷歌浏览器
  • token统一配置的问题: 将token单独配置,所有页面都可以用。配置在了根目录的config/header.json文件中。
1)header.json:
{
  "jwtToken":"eyJhbGciOiJIUzUxMiJ9.xxxxxx"
}
  • ajax同步请求:使用 . g e t J S O N 来获取 j s o n 文件中的数据,但该请求默认为异步请求,通过 .getJSON来获取json文件中的数据,但该请求默认为异步请求,通过 .getJSON来获取json文件中的数据,但该请求默认为异步请求,通过.ajaxSettings.async将其设置为同步请求。
var token = "";
//token: token配置在了本地的json文件中,使用同步ajax的方式去获取token
//之后考虑使用拦截器的方式来添加token
$.ajaxSettings.async = false;  // ajax设置为同步请求
$.getJSON("./config/header.json",function (data) {
token = data;  //获取返回的json数据
});
$.ajaxSettings.async = true; // ajax恢复为异步请求默认值

前端页面代码

  样式使用了layui。页面代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
</head>
<body>
<script src=""></script>
<div class="layui-container">
    <form class="layui-form">
        <div class="layui-form-item">
            <label class="layui-form-label">报告类型</label>
            <div class="layui-input-block">
                <select name="disaster" id="disaster"></select>
            </div>
        </div>
    </form>
</div>

<script src="./layui/layui.js"></script>
<script>
    layui.use(['layer','jquery','form'],function () {
        var layer = layui.layer;
        var $ = layui.jquery;
        var form = layui.form;

        var data = {type:"earlyWarning"};
        var token = "";
        //token: token配置在了本地的json文件中,使用同步ajax的方式去获取token
        //之后考虑使用拦截器的方式来添加token
        $.ajaxSettings.async = false;  // ajax设置为同步请求
        $.getJSON("./config/header.json",function (data) {
            token = data;  //获取返回的json数据
        });
        $.ajaxSettings.async = true; // ajax恢复为异步请求默认值

		//请求中台接口
        $.ajax({
            type:"POST",
            url:"http://x.x.x.x:8080/getConfigByType",
            data:"{\"type\":\"reportType\"}",
            contentType:"application/json",
            dataType:"json",
            //设置请求头
            headers:{jwtToken:token.jwtToken},
            success:function (d) {
                // console.log(d);
                if (d.responseCode == "10") {
                    layer.msg(d.errorMessage);
                }else if (d.status != 0){
                    layer.msg(d.statusText);
                }else{
                    var list = d.data;
                    var str = "<option value=\"\"></option>";
                    for (var i=0;i<list.length;i++){
                        str+="<option value=\""+list[i].code+"\">"+list[i].name+"</option>";
                    }
                    $("#disaster").html(str);
                    form.render('select');
                }
            }
        });
    })

</script>

代码结构

在这里插入图片描述

结果展示

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值