使用 Layer.open 打开页面并传递超长数组给 Java 后台

可以通过在 layer.open 中使用 ajax 请求,将超长数组传递给后台。

前端代码

var arr = [1, 2, 3, 4, 5, 6, 7, ...]; // 超长数组

layer.open({
  type: 2,
  title: '页面标题',
  content: '页面地址',
  btn: ['确定', '取消'],
  yes: function(index, layero) {
    // 获取子页面的 window 对象
    var iframeWin = window[layero.find('iframe')[0]['name']];
    // 发送 ajax 请求,将超长数组传递给后台
    $.ajax({
      url: '后台接口地址',
      type: 'POST',
      data: {arr: arr},
      success: function(data) {
        // 请求成功后的回调函数
      },
      error: function(xhr, status, error) {
        // 请求失败后的回调函数
      }
    });
    layer.close(index); // 关闭弹出层
  },
  btn2: function(index, layero) {
    // 取消按钮的回调函数
    layer.close(index); // 关闭弹出层
  },
  cancel: function() {
    // 右上角关闭按钮的回调函数
  }
});

后台代码

@RequestMapping(value = "/test", method = RequestMethod.POST)
@ResponseBody
public String test(@RequestParam(value = "arr[]") List<Integer> arr) {
  // 处理数组数据
  return "success";
}

说明:

  • 前端代码中,使用 data: {arr: arr} 将数组传递给后台。
  • 后台代码中,使用 @RequestParam(value = "arr[]") 注解获取数组数据。
  • 以上代码仅供参考,实际使用中需要根据具体情况进行调整。
Layer.open 打开页面传递超长数组给 Java 后台

原文地址: https://www.cveoy.top/t/topic/nPe4 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录