Layui数据表格 前后端json数据接收的方法

当使用Layui数据表格时,前后端传输数据可以使用json数据格式。下面是使用json数据格式以及前后端json数据接收方法的完整攻略。

1. 前端传送json数据

前端使用layui.table.render()方法进行渲染表格,其中url参数可以指定后台接收json数据的url,也可以将json数据直接放在data参数中一同传送到后台。

示例1:传送url

前端使用以下代码将json数据传送到后台:

layui.use('table', function(){
  var table = layui.table;

  table.render({
    elem: '#test', //绑定 table 的id
    url: '后台接收json数据的url', //接口地址
    cols: [[
      {field:'id', title: 'ID'},
      {field:'username', title: '用户名'},
      {field:'sex', title: '性别'},
      {field:'city', title: '城市'},
      {field:'sign', title: '签名'},
      {field:'experience', title: '积分'},
      {field:'score', title: '评分'},
      {field:'classify', title: '职业'},
      {field:'wealth', title: '财富'}
    ]],
    page: true //开启分页
  });
});

后台接收json数据的url中可以使用POST或GET方法进行数据接收,例如PHP后台接收json数据的代码如下:

$data = file_get_contents("php://input");
$json = json_decode($data);

示例2:传送参数中的json数据

前端使用以下代码将json数据放在data参数中传送到后台:

layui.use('table', function(){
  var table = layui.table;

  table.render({
    elem: '#test', //绑定 table 的id
    data: [{
      "id": 1,
      "username": "张三",
      "sex": "男",
      "city": "北京",
      "sign": "人生格言",
      "experience": 55,
      "score": 88,
      "classify": "作家",
      "wealth": 100000
    }, {
      "id": 2,
      "username": "李四",
      "sex": "女",
      "city": "上海",
      "sign": "人生目标",
      "experience": 77,
      "score": 99,
      "classify": "诗人",
      "wealth": 777000
    }],
    cols: [[
      {field:'id', title: 'ID'},
      {field:'username', title: '用户名'},
      {field:'sex', title: '性别'},
      {field:'city', title: '城市'},
      {field:'sign', title: '签名'},
      {field:'experience', title: '积分'},
      {field:'score', title: '评分'},
      {field:'classify', title: '职业'},
      {field:'wealth', title: '财富'}
    ]],
    page: true //开启分页
  });
});

2. 后端接收json数据

后端使用不同的编程语言可通过不同的方式接收前端传来json数据,下面以PHP及Java分别介绍接收json数据的方法。

PHP

PHP后端可使用file_get_contents("php://input")函数获取到前端传来的json数据,然后使用json_decode()函数将其转换为PHP数据格式。示例代码如下:

$data = file_get_contents("php://input");
$json = json_decode($data);

其中,$json即为转换后的PHP数据。

Java

Java后端可使用HttpServletRequest类获取到前端传来的json数据,然后使用Gson类将其转换为Java数据格式。示例代码如下:

Gson gson = new Gson();
ServletInputStream in = request.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in, "UTF-8"));
StringBuffer sb = new StringBuffer("");
String line = "";
while ((line = reader.readLine()) != null) {
    sb.append(line);
}
String jsonStr = sb.toString();
JsonElement element = gson.fromJson(jsonStr, JsonElement.class);

其中,element即为转换后的Java数据。

3. 前端接收后端返回json数据

前端使用layui.table.render()方法可将后端返回json数据渲染成表格,需要在url参数或data参数中指定返回json数据的格式。

示例1:使用url参数获取后端返回的json数据

前端使用以下代码将后端返回的json数据渲染成表格:

layui.use('table', function(){
  var table = layui.table;

  table.render({
    elem: '#test', //绑定 table 的id
    url: '后端返回json数据的url', //接口地址
    parseData: function(res){ //将原始数据解析成 table 组件所规定的数据格式
      return {
        "code": res.code, //解析接口状态
        "msg": res.msg, //解析提示文本
        "count": res.total, //解析数据长度
        "data": res.rows //解析数据列表
      };
    },
    cols: [[
      {field:'id', title: 'ID'},
      {field:'username', title: '用户名'},
      {field:'sex', title: '性别'},
      {field:'city', title: '城市'},
      {field:'sign', title: '签名'},
      {field:'experience', title: '积分'},
      {field:'score', title: '评分'},
      {field:'classify', title: '职业'},
      {field:'wealth', title: '财富'}
    ]],
    page: true //开启分页
  });
});

后端返回的json数据格式需按照表格组件所规定的格式返回,例如PHP后端返回的json数据格式如下:

$result = array(
    "code"=> 0,
    "msg"=> "",
    "total"=> 100,
    "rows"=> $data
);
echo json_encode($result);

示例2:将后端返回的json数据放在data参数中传送

前端使用以下代码将后端返回的json数据渲染成表格:

layui.use('table', function(){
  var table = layui.table;

  $.get('后端返回json数据的url', function(res){
    table.render({
      elem: '#test', //绑定 table 的id
      data: res.data, //绑定数据源
      cols: [[
        {field:'id', title: 'ID'},
        {field:'username', title: '用户名'},
        {field:'sex', title: '性别'},
        {field:'city', title: '城市'},
        {field:'sign', title: '签名'},
        {field:'experience', title: '积分'},
        {field:'score', title: '评分'},
        {field:'classify', title: '职业'},
        {field:'wealth', title: '财富'}
      ]],
      page: true //开启分页
    });
  });
});

后端返回的json数据格式需符合表格组件所规定的数据格式,例如PHP后端返回格式如下:

$result = array(
    "code"=> 0,
    "msg"=> "",
    "data"=> $data
);
echo json_encode($result);

以上就是使用Layui数据表格及前后端json数据接收方法的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Layui数据表格 前后端json数据接收的方法 - Python技术站

(0)
上一篇 2023年6月8日
下一篇 2023年6月8日

相关文章

  • JavaScript中MutationObServer监听DOM元素详情

    我来为您讲解一下JavaScript中MutationObServer监听DOM元素的完整攻略。 MutationObServer是什么? MutationObServer(简称为MO)是JavaScript的一个API,用于监听DOM元素的变化。它可以监听并监控DOM树结构的任何变化,当有改变发生时,它会执行一个回调函数并提供改变的具体细节。 使用Muta…

    node js 2023年6月8日
    00
  • Node.js 模块的加载逻辑你了解嘛

    当我们在使用 Node.js 构建应用程序时,模块管理是非常重要的。Node.js 的模块系统采用 CommonJS 规范,即在 Node.js 中每个模块都是一个独立的文件,均有自己的作用域。每个模块都可以导出其中定义的变量,函数等需要暴露出去的功能,同时也可以引入其他模块来使用。 下面我们来详细讲解 Node.js 中模块的加载逻辑: Node.js 模…

    node js 2023年6月8日
    00
  • Node.js下向MySQL数据库插入批量数据的方法

    下面我会给出Node.js中向MySQL数据库插入批量数据的完整攻略,包括MySQL的连接、创建和插入数据的过程。 连接MySQL数据库 在Node.js中连接MySQL数据库,需要使用第三方库mysql来实现。首先需要在项目目录下安装该库: npm install mysql 安装完成后,在需要连接MySQL的文件中引入该库: const mysql = …

    node js 2023年6月8日
    00
  • 基于JS实现一个小型编译器

    以下是基于JS实现一个小型编译器的完整攻略,主要分为以下几个步骤: 1. 定义语法规则 在实现编译器前,我们需要定义一套自己的语法规则。在本次示例中,我们定义一个类似于计算器的语法规则,包含四则运算、括号和变量赋值等功能。 program ::= statement* statement ::= expression | assignment express…

    node js 2023年6月8日
    00
  • npm i报错以及解决方案实战案例

    首先我们要了解一下“npm i报错”的原因: 网络问题:npm i命令需要从npm官方仓库下载依赖包,在网络缓慢或不稳定的时候可能会出现报错。 依赖版本冲突:在package.json中定义了多个依赖包,并且这些依赖包之间可能存在版本冲突,可能导致npm i报错。 解决方案如下: 换源:可以通过切换npm镜像源来解决网络问题。 示例一:使用淘宝镜像 首先需要…

    node js 2023年6月8日
    00
  • node错误处理与日志记录的实现

    关于Node.js错误处理与日志记录的实现,我们可以分为以下几个步骤: 1. 使用try-catch捕获错误 在Node.js应用程序中,可以使用try-catch来捕获代码中的错误。try块中可能会抛出一个异常,catch块则用于处理异常。错误被抛出后,catch块将会被执行,并提供错误对象作为其参数。 try { // 可能会抛出异常的代码 const …

    node js 2023年6月8日
    00
  • node.js安装及HbuilderX配置详解

    Node.js 安装及 HbuilderX 配置详解 安装 Node.js 打开 Node.js 官网(https://nodejs.org/en/),选择适合自己系统的版本下载。 安装 Node.js,安装过程中可以参考官方文档进行操作。 安装完成后,在终端(Mac、Linux)或命令提示符(Windows)输入以下命令,检验 Node.js 是否安装成功…

    node js 2023年6月8日
    00
  • window通过vbs+bat实现自动在后台运行nodejs application

    首先,需要明确一点:该技术只适用于Windows环境。 1. 准备vbs和bat文件 在项目根目录下创建两个文件,一个是vbs文件,一个是bat文件。分别命名为run.vbs和start.bat。 run.vbs vbs文件是用来调用bat文件的,它需要同时在后台运行,因此我们需要使用以下的代码: Set WinScriptHost = CreateObje…

    node js 2023年6月8日
    00
合作推广
合作推广
分享本页
返回顶部