ITPub博客

首页 > 应用开发 > Html/css > 记一次layui 通过ajax异步获取数据修改页面表单

记一次layui 通过ajax异步获取数据修改页面表单

原创 Html/css 作者:挪挪订货 时间:2021-01-15 10:12:39 0 删除 编辑

本次记录的是开发枫叶scrm时遇到的,问题是发现不同功能会有很多相同的调用,导致比较多的重复代码。

于是开始看CI4的文档,着手尝试不同的编写方法。

  1. 在后端新建一个控制器,单独作为api输出json数据;

<?php namespace app\Controllers\Clue;
use CodeIgniter\API\ResponseTrait;  //文档上是写到方法上面的,好像是不能用的
use App\Controllers\User\Spreaders;
class Cluesapi extends \CodeIgniter\Controller
{
    //输出推广者 的user_id 和 true_name
    public function spreaders()
    {
        $spreader=new Spreaders();
        $data['spreader']= $spreader->IdAndName();
        $data['origin']= $spreader->SpreadOrigin();
        return json_encode($data);
    }
}

这里输出的就是需要的json数据;

2.前端页面,比如说select  下来选择(注意要添加id哦)

<div class="layui-input-inline">
    <select id="spreader" name="spreader"  lay-search="">
        <option value="">选择推广者</option>
    </select>
</div>

3.使用jq在页面加载完成之后开始执行

$.ajax({
    cache: false,
    async: false,
    dataType: 'json', type: 'post',
    url: "<?=site_url("/clue/Cluesapi/spreaders");?>",  //这里是api的输出网址
    success: function (data){
        $.each(data.spreader,function(index,value){
            $("#spreader").append('<option value="'+ value.user_id + '">' + value.true_name +'</option>');
        });
            //通过循环返回值和id 将下拉选项添加到select中,并通过下面这行代码,重新渲染
        form.render('select', 'query');
    }
});

经过这番改造之后,确实发现代码精简不少,接下来就是自我优化,不断完善自己。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69992267/viewspace-2750180/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-12-30

  • 博文量
    8
  • 访问量
    5179