真的爱小狗. 2021-09-25 13:53 采纳率: 56%
浏览 66
已结题

管理系统打成war包,登录时候显示操作失败,本地运行可以

img


管理系统打成war包,登录时候显示操作失败,线下正常运行,war包直接扔到webapp下,连接公网数据库里面的数据也没问题,登录界面如下,登录时响应是没问题,后台判断提交的表单,返回时操作失败。



```java
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>管理系统</title>
    <%--    meta元素通常用于指定网页的描述,关键词,文件的最后修改时间,作者及其他元数据--%>
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta http-equiv="Access-Control-Allow-Origin" content="*">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="format-detection" content="telephone=no">
<%--    <link> 标签定义文档与外部资源的关系。标签最常见的用途是链接样式表。--%>
    <link rel="icon" href="${basePath}static/images/favicon.ico">
    <link rel="stylesheet" href="${basePath}static/lib/layui-src/css/layui.css" media="all">
    <link rel="stylesheet" href="${basePath}static/css/login.css" media="all">
    <!--[if lt IE 9]>
<%--    <!--针对底边本浏览器的兼容设置,可以去掉-->--%>
    <script src="${basePath}static/js/html5.min.js"></script>
    <script src="${basePath}static/js/respond.min.js"></script>
    <![endif]-->
<%--    导入js--%>
    <script src="${basePath}static/lib/jquery-3.4.1/jquery-3.4.1.min.js" charset="utf-8"></script>
    <script src="${basePath}static/lib/layui-src/layui.js?<%=System.currentTimeMillis()%>" charset="utf-8"></script>
<%--    背景图片--%>
    <style>
        body {background: url("${basePath}static/images/bground.jpg");}
    </style>

</head>
<body>
<div class="layui-container">
    <div class="admin-login-background">
        <div class="layui-form login-form">
            <form class="layui-form">
                <div class="layui-form-item logo-title">
                    <h1>管理系统</h1>
                </div>

                <%--                输入账号--%>
                <div class="layui-form-item">
                    <label class="layui-icon layui-icon-username"></label>
                    <input type="text" name="userName" lay-verify="required" placeholder="用户名" autocomplete="off" class="layui-input" value="admin">
                </div>

                <%--                输入密码--%>
                <div class="layui-form-item">
                    <label class="layui-icon layui-icon-password"></label>
                    <input type="password" name="password" lay-verify="required" placeholder="密码" autocomplete="off" class="layui-input" value="123456">
                </div>

                <%--                选择类型--%>
                <div class="layui-form-item">
                    <label class="layui-icon layui-icon-username"></label>
                    <select name="type" lay-verify="required">
                        <option value="">请选择用户类型</option>
                        <option value="1">管理员</option>
                        <option value="2">老师</option>
                        <option value="3">学生</option>
                    </select>
                </div>

                <%--                验证码模块--%>
                <div class="layui-form-item">
                <%--                    输入框--%>
                    <div class="layui-input-inline">
                        <input type="text" name="captcha" style="width: 200px;" lay-verify="required" placeholder="验证码" autocomplete="off" class="layui-input">
                    </div>
                <%--                    验证码图片--%>
                    <div class="layui-input-inline">
                        <img type="image" src="${basePath}captcha/code" id="captchaImg" style="cursor:pointer;margin-left: 10px;"/>
                    </div>
                </div>

                <%--                人脸识别登陆和密码登陆按钮--%>
                <div class="layui-form-item">
<%--                    lay-submit=""用于绑定提交按钮 lay-filter="login"用于过滤,并且交给js处理--%>
                    <button type="button" class="layui-btn layui-btn-lg layui-btn-normal" lay-submit="" lay-filter="login">密码登录</button>
                    <button type="button" class="layui-btn layui-btn-lg layui-btn-normal" ><a href="${pageContext.request.contextPath}/face/facelogin.do" class="forget-password" style="color:white">人脸识别登录</a></button>
                    <button type="button" class="layui-btn layui-btn-lg layui-btn-normal" lay-submit="" lay-filter="login">短信登陆</button>
                </div>


            </form>
        </div>
    </div>
</div>

<script>

    layui.use(['form','jquery'], function () {
        // 定义一些模块
        var form = layui.form,
            $ = layui.jquery,
            layer = layui.layer;

        // 登录过期的时候,跳出ifram框架
        if (top.location != self.location) top.location = self.location;

        //点击验证码,刷新
        $('#captchaImg').click(function(){
            $(this).attr("src","captcha/code?"+Math.random())
        });

        // 进行登录操作,在前端经行处理,不在后端经行处理,不需要更新整个页面
        form.on('submit(login)', function (data) {
            $.ajax({
                url:"${basePath}login",
                type:"POST",
                dataType:'json',//返回数据的类型
                // data.field.testname="1,2,3,4";(testname是field中的某个属性比如:name,age,sex等
                data:data.field,

                success:function(data){
                    if(data.code == "1000"){
                        location.href = "index";
                    }else{
                        layer.msg(data.msg,{time:2000});
                    }
                }
            });
            return false;
        });
    });
</script>
</body>
</html>

```

  • 写回答

1条回答 默认 最新

  • 急速光粒 2021-09-25 18:39
    关注

    应该是:
    // 进行登录操作,在前端经行处理,不在后端经行处理,不需要更新整个页面
    form.on('submit(login)', function (data) {
    $.ajax({
    url:"${basePath}login",
    type:"POST",
    dataType:'json',//返回数据的类型
    // data.field.testname="1,2,3,4";(testname是field中的某个属性比如:name,age,sex等
    data:data.field,

                success:function(data){
                    if(data.code == "1000"){
                        location.href = "index";
                    }else{
                        layer.msg(data.msg,{time:2000});
                    }
                }
    

    这里提交的位置的问题,最好是采用相对路径。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月27日
  • 创建了问题 9月25日