• Vue.js实现登录功能


    • 编写html,通过vue-resource.js库向后台提交数据
      <!DOCTYPE html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <title>用户注册</title>
          <link href="bootstrap-4.3.1-dist/css/bootstrap.min.css" rel="stylesheet">
          <script src="js/jquery.js"></script>
          <script src="bootstrap-4.3.1-dist/js/bootstrap.js"></script>
          <script src="js/vue.js"></script>
          <!-- 异步提交的库 -->
          <script src="js/vue-resource.min.js"></script>
          <style>
      
              .container {
                  margin-top: 15%;
                  width: 35%;
              }
      
              .btn-primary {
                  background-color: #337ab7;
                  border-color: #337ab7;
              }
      
              .form-control {
                  margin-bottom: 4px;
              }
      
      
          </style>
      </head>
      <body>
      <div class="container">
      
          <!--<div id="demo" v-show="show" class="alert alert-success">
              <span v-if="alert_tips">成功!很好地完成了提交。</span>
          </div>-->
          <form id="form">
      
      
              <div class="form-signin">
                  <!--<h2 class="form-signin-heading">登录</h2>-->
                  <!-- class="sr-only"将label标签隐藏 -->
                  <label for="exampleInputUsername" class="sr-only">用户名</label>
                  <!-- 会忽略所有表单元素的value、checked、selected特性的初始值,而总是将Vue实例的数据作为数据来源 -->
                  <input type="text" class="form-control" v-model="formObj.username" id="exampleInputUsername" name="username"
                         placeholder="用户名">
                  <label for="exampleInputUsername" class="sr-only">密码</label>
                  <input type="password" class="form-control" v-model="formObj.password" id="exampleInputPassword"
                         name="password"
                         placeholder="密码">
                 
                  <div class="checkbox">
                      <label>
                          <!--<input type="checkbox">
                          记住密码-->
                      </label>
                  </div>
                  <button class="btn btn-lg btn-primary btn-block" onclick="ajaxRegister()" type="button">注册
                  </button>
              </div>
          </form>
      </div>
      </body>
      <script>
      
          function ajaxRegister() {
              //Vue的异步Get请求
              /*Vue.http.get("/test").then(function (res) {
                  console.log(res.bodyText);
              }, function (res) {
                  console.log(res.status);
              });*/
          
      
              var param = new FormData(document.getElementById("form"));
             // param = convert_FormData_to_json(param);
              console.log(param);
              Vue.http.post("/login", param).then(function (res) {
      
                  console.log(res.bodyText);
                  console.log("登录成功");
              }, function (res) {
      
                  alert("登录失败");
              });
             
      
              return false;
          }
      
      </script>
      </html>
    • 后台接收数据
      @RestController
      public class UserController {
      
          @Autowired
          private UserService userService;
          //通过RequestBody实现与json交互
          @RequestMapping(value = "/register", method = RequestMethod.POST)
           //接收从客户端传过来的FormData()数据
          @RequestMapping(value = "/login", method = RequestMethod.POST)
          public String login(HttpServletRequest request) throws ParseException {
      
              MultipartHttpServletRequest params = (MultipartHttpServletRequest) request;
              // List<MultipartFile> files = ((MultipartHttpServletRequest) request).getFiles("file");
              Map<String, String[]> parameterMap = params.getParameterMap();
              //将Map<String,String[]>转成Map对象
              Map map = GenUtils.toParameterMap(parameterMap);
              //将Map对象生成为指定的Pojo对象
              User user = GenUtils.mapGetObj(User.class, map);
              //
              user = userService.selectByUser(user);
              //
              JSONObject jsonObject = JSONObject.fromObject(user);
              return jsonObject + "";
          }
      
      }
  • 相关阅读:
    HDFS基本原理及数据存取实战
    关于软件工程的思考06:微软解决方案框架MSF
    关于软件工程的思考05:敏捷流程
    关于软件工程的思考04:团队和流程
    关于软件工程的思考03:两人合作
    关于软件工程的思考02:软件工程师的成长
    关于软件工程的思考01:个人技术流程
    Linux31:磁盘配额与磁盘阵列简介
    Linux30:LVM和SELinux简介
    Linux29:SSH
  • 原文地址:https://www.cnblogs.com/fatRabbit-/p/10757840.html
Copyright © 2020-2023  润新知