zoukankan      html  css  js  c++  java
  • layui+Spring拦截器,拦截ajax请求

    这边系统前端用的是layui,后端是Spring Boot。现在需要对前台发出的ajax请求通过Spring的拦截器验证权限。如果有权限就放过,无权限则退回。
    解决如下:
    拦截器PreHandler进行权限验证,通过返回true,让请求继续执行,如果不通过则
    PrintWriter writer = null;
    res.setCharacterEncoding("UTF-8");
    res.setContentType("application/json; charset=utf-8");
    try {
    writer = res.getWriter();
    JSONObject obj = JSONObject.fromObject(ResponseData.genResponseDataAuthFail("无权限!"));
    writer.print(obj);
    } catch (IOException e) {
    logger.error("response error",e);
    } finally {
    if (writer != null){
    writer.close();
    }
    }

    采用PrintWriter的writer方法,因为ajax无法请求下一步,自然不可能有返回值。在拦截器里把返回值拼装好用write.print回去,前端就能接到了。

    js里的方法:
    dataManageService.getDataList(requestData).success(function (data) {
    if (!data.success) {
    if (data.code == 2) {
    console.log("未授权");
    }
    layer.open({title: data.msg, content: data.data});
    layer.close(layerIndex);
    return;
    }
    .....

    前端接到json后解析json,并弹框报错,这个【layer.close(layerIndex);】语句是前面有一个
    var layerIndex = layer.load(1, {shade: [0.5, '#393D49']});
    这是个loading框,这句话是去掉这个loading框。

  • 相关阅读:
    JSP动作元素你又知几多?
    一个简单的TCP/IP服务端客户端对话
    使用Graphics2D去除曲线锯齿状
    MySQL数据类型
    Eclipse常用快捷键
    C#中的委托和事件
    GitHub当道,菜鸟也为Git疯狂
    C++文件操作
    JSP指令你知多少?
    spring如何使用多个xml配置文件
  • 原文地址:https://www.cnblogs.com/rock-turf/p/8883019.html
Copyright © 2011-2022 走看看