iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >怎么使用vue cli实现项目登陆页面
  • 299
分享到

怎么使用vue cli实现项目登陆页面

2023-07-04 11:07:43 299人浏览 薄情痞子
摘要

这篇文章主要介绍“怎么使用Vue cli实现项目登陆页面”,在日常操作中,相信很多人在怎么使用vue cli实现项目登陆页面问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用vue&n

这篇文章主要介绍“怎么使用Vue cli实现项目登陆页面”,在日常操作中,相信很多人在怎么使用vue cli实现项目登陆页面问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用vue cli实现项目登陆页面”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1. 搭建项目

工程方式搭建项目,请将测试需要用的后台WEB服务程序事先准备好。

1.1 使用vue-cli创建项目

在命令行,到自己的vue工程存放的目录,运行一下命令,前提是vue-cli先安装好。

vue init webpack vuepro

1.2 通过npm安装element-ui

npm install element-ui -S

1.3 导入组件

打开 src目录下的main.js,该文件是项目的入口文件,所以在这里导入,其他组件均可使用,不用再导入。

import Vue from 'vue'//新添import ElementUI from 'element-ui' //新增import 'element-ui/lib/theme-chalk/index.CSS'//新增Vue.use(ElementUI)

2 创建登录页面

2.1 创建登录组件

1) 新建views目录,在目录上右击,选择新建vue(简单模块)创建Login

<template></template><script></script><style></style>

2)在element-ui组件,在fORM组件中找到与登录页面类似的组件,拷贝代码到刚新建的Login组件中,修改为自己需要的登录页面,页面包含:账户,密码, 提交按钮

<template>    <div>        <el-form >            <el-form-item label="账户" >              <el-input type="passWord" v-model="userName" autocomplete="off"></el-input>            </el-form-item>            <el-form-item label="密码" >              <el-input type="password" v-model="passWord" autocomplete="off"></el-input>            </el-form-item>            <el-form-item>              <el-button type="primary" @click="submitForm('ruleForm')">提交</el-button>            </el-form-item>         </el-form>    </div></template><script>  export default {    name: 'Login',    data: function() {      return {         userName: null,         passWord: null,      }    },    methods: {      submitForm: function() {          console.log("fdfdd");      }    }  }</script><style></style>

2.2 引入css(css.txt)

按照css.txt中的说明进行引入,用于控制样式,加入样式

怎么使用vue cli实现项目登陆页面

base64编码:基于64个可打印字符来表示二进制数据,用于传输8Bit字节代码,可用于在Http环境下传递较长的标识信息。采用Base64编码具有不可读性,需要解码后才能阅读。

2.3 配置路由

router/index.js

import Vue from 'vue'import Router from 'vue-router'import HelloWorld from '@/components/HelloWorld'//首先导入组件import Login from '@/views/Login'Vue.use(Router)export default new Router({  routes: [    {      //配置路由,根路径访问Login组件      path: '/',      name: 'Login',      component: Login    }  ]})

2.4 在Login组件中将提交按键调整为100%宽度

<el-button type="primary" @click="submitForm('ruleForm')" >提交</el-button>

2.5 运行效果

在项目目录,运行一下命令,启动服务:

npm run dev

界面效果:

怎么使用vue cli实现项目登陆页面

3. 后台交互

3.1 引入axiOS

axios是vue2提倡使用的轻量版的ajax。它是基于promise的HTTP库。它会从浏览器中创建XMLHttpRequests,与Vue配合使用非常好。

vue.js有著名的全家桶系列:vue-router,vuex, vue-resource,再加上构建工具vue-cli,就是一个完整的vue项目的核心构成。其中vue-resource是Vue.js的一款插件,它可以通过XMLHttpRequest或JSONP发起请求并处理响应,但在vue更新到2.0之后,作者就宣告不再对vue-resource更新,而是推荐的axios

3.2 axios/qs/vue-axios安装与使用

注:qs.js它是一个url参数转化的js库。用法就两个:

var obj = qs.parse('a=b&c=d');  //将URL解析成对象的形式:{a:'b',c:'d'}var str = qs.stringify(obj);    //将对象 序列化成URL的形式,以&进行拼接:a=b&c=d'

vue-axios是在axios基础上扩展的插件,在Vue.prototype原型上扩展了$http等属性,可以更加方便的使用axios

3.2.1 安装axios

npm install axios -S

2)在Login组件中导入axios

  import axios from 'axios'  export default {  ......
3.2.2 发送get请求

在提交按钮的监听函数中加入发送get请求的代码:

//请求url,需要保证服务可用let url = 'http://localhost:8080/webserver/userMsg/userAction!login.action';//注意数据是保存到json对象的params属性axios.get(url, {  params: {    userNo: this.userNo,    userPwd: this.userPwd  }}).then(function(response) {  console.log(response);}).catch(function(error) {  console.log(error);});

请注意下面图上的错误信息,请求发生了跨域错误问题:

怎么使用vue cli实现项目登陆页面

跨域请求问题:因为我们采用的是前后端分离的方式进行开发前端和后端分别泡在不同的服务器上,基于安全性考虑,浏览器有同源策略,所以出现了跨域问题。 同源策略[same origin policy]是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源。 同源策略是浏览器安全的基石。

4)跨域问题的处理

在filter中处理跨域问题,关键代码:

// Access-Control-Allow-Origin就是我们需要设置的域名// Access-Control-Allow-Headers跨域允许包含的头。// Access-Control-Allow-Methods是允许的请求方式httpResponse.setHeader("Access-Control-Allow-Origin", "*");// *,任何域名httpResponse.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");httpResponse.setHeader("Access-Control-Allow-Methods", "POST, GET, PUT, DELETE");filterChain.doFilter(servletRequest, servletResponse);

在课件资料中提供了CorsFilter,配置到web.xml中,对所以请求进行拦截处理,可解决跨域问题。注意:请配置在struts中央控制器之前

3.2.3 发送post请求
//注意数据是直接保存到json对象axios.post(url, {    userNo: 'admin',    userPwd: '123'}).then(function(response) {    console.log(response);}).catch(function(error) {    console.log(error);});

输入的测试账号和密码均正确,使用get发送请求获取的响应为“密码正确”,但post方式发送的请求获取的响应为“密码不正确”!原因分析:通过观察控制台可以发现,post发送请求时,请求参数是以json格式通过request payload进行传送的,的struts的并没有处理这种方式传递的参数(起码是我们使用的struts版本),所以传递到服务器的参数并没有得到有效的解析。

问题处理:

第一种方式: 在服务端编码实现request payload参数解析。在BaseAction中加入一个方法,该方法从request payload中获取json数据,并转化为指定的类。

public Object getRequestBody(Class clazz) {           BufferedReader br;        httpservletRequest request = ServletActionContext.getRequest();        try {            br = request.getReader();            String str, aStr = "";            while((str = br.readLine()) != null){                aStr += str;            }            System.out.println(aStr);            Object obj = JSONObject.parseObject(aStr, clazz);            return obj;        } catch (IOException e) {           throw new RuntimeException("获取请求参数异常: " + e);        }    }

获取参数时调用该方法获取

User user = (User)this.getRequestBody(User.class);

第二种方式:使用qs.js库,将{a:'b',c:'d'}转换成'a=b&c=d'。

1) 安装qs和vue-axios

npm install qs -S
npm install vue-axios -S

安装成功后会在package.json中“dependencies”中会看到安装的新库。

在提交请求时使用qs对json对象进行转换

//注意数据是直接保存到json对象let params = {  userNo: 'admin',  userPwd: '123'};//参数格式转换let paramStr = qs.stringify(params);console.log(paramStr);//提交时使用转换之后的参数axios.post(url, paramStr).then(function(response) {  console.log(response);}).catch(function(error) {  console.log(error);});

观察控制台中的输出,已经将json格式转化为&连接的格式。查看返回结果是否是预期值。

3.2.4 简化axios使用

为简化axios使用,还可以使用axios全局配置及拦截器 1) 安装vue-axios

npm install vue-axios -S

2) 将随课件提供的api目录考到src根路径下

怎么使用vue cli实现项目登陆页面

现在可以将在Login组件中的导入axios和qs语句删除, action.js和http.js的配置详见代码中的注释。 3)将action中的配置修改为自己的后台服务配置

export default {'SERVER': 'http://localhost:8080/webserver', //服务器'SYSTEM_USER_DOLOGIN': '/userMsg/userAction!login.action', //登陆'SYSTEM_USER_DOREG': '/userAction.action', //注册  //获取完整的请求地址'getFullPath': k => { //获得请求的完整地址,用于mockjs测试时使用return this.SERVER + this[k];}}

4)配置main.js

import Vue from 'vue'//vue项目对axios的全局配置(增加配置)import axios from '@/api/http'import VueAxios from 'vue-axios'Vue.use(VueAxios,axios)......

5) 在提交时不需要手动处理转换,全局配置进行转换。

//修改url的获取方式,url已经配置在了action.js中,这里只要指定action路径//服务地址和服务上下文已经在http.js中设置了axios.defaults.baseURL,//axios会根据配置自动获取。let url = this.axios.urls.SYSTEM_USER_DOLOGIN;this.axios.post(url, params).then(resp => {  console.log(resp);}).catch(resp => {});

到此,关于“怎么使用vue cli实现项目登陆页面”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: 怎么使用vue cli实现项目登陆页面

本文链接: https://www.lsjlt.com/news/344889.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么使用vue cli实现项目登陆页面
    这篇文章主要介绍“怎么使用vue cli实现项目登陆页面”,在日常操作中,相信很多人在怎么使用vue cli实现项目登陆页面问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用vue&n...
    99+
    2023-07-04
  • vuecli实现项目登陆页面流程详解
    目录1. 搭建项目1.1 使用vue-cli创建项目1.2 通过npm安装element-ui1.3 导入组件2 创建登录页面2.1 创建登录组件2.2 引入css(css.txt)...
    99+
    2022-11-13
    vue cli登陆页面 vue cli创建页面
  • vue如何实现登陆页面
    这篇文章主要介绍“vue如何实现登陆页面”,在日常操作中,相信很多人在vue如何实现登陆页面问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue如何实现登陆页面”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-06-30
  • vue-cli多页面应用实践之实现组件预览项目
    目录vue-cli 多页面应用实现组件预览项目多页面应用配置页面布局左侧菜单栏中间区域右侧手机页功能扩展建议仓库源码总结vue-cli 多页面应用 vue技术栈的同学,大多是用vue...
    99+
    2024-04-02
  • vue实现登陆页面开发实践
    目录一、input的校验没有可说的,记住俩点,一个控制输入长度,一个控制格式。二、验证码逻辑:组件使用的是vant ui,具体用法可去官网看。 分几个部分考虑, 一、输入框input...
    99+
    2024-04-02
  • 使用Vue-CLI怎么实现多页分目录打包
    使用Vue-CLI怎么实现多页分目录打包?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。页面目录结构注意需要将默认的 html 模板文件 public/index.html&nb...
    99+
    2023-06-14
  • vue项目实现登陆注册效果
    本文实例为大家分享了vue项目实现登陆注册效果的具体代码,供大家参考,具体内容如下 主要内容 本章目标:vue+element-ui完成注册以及登陆 1.效果展示 2.视图页面:...
    99+
    2024-04-02
  • 使用 vue-cli怎么搭建一个vue项目
    使用 vue-cli怎么搭建一个vue项目,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 一、 安装 node.js首先需要安装no...
    99+
    2024-04-02
  • Vue实战记录之登陆页面的实现
    目录1 前期准备1.1 安装Node.js1.2 安装webpack1.3 安装vue-cli2 搭建Vue项目2.1 创建项目2.2 项目目录2.3 导入Element UI3 实...
    99+
    2024-04-02
  • vue怎么实现本项目页面之间跳转
    这篇“vue怎么实现本项目页面之间跳转”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue怎么实现本项目页面之间跳转”文章吧...
    99+
    2023-06-30
  • Laravel怎么实现登陆过期后跳转到登陆页面
    这篇文章主要讲解了“Laravel怎么实现登陆过期后跳转到登陆页面”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Laravel怎么实现登陆过期后跳转到登陆页面”吧!一、应用场景:用户登陆后存...
    99+
    2023-07-04
  • Vue怎么实现用户访问没有登陆时自动跳转登录页面
    这篇文章主要介绍了Vue怎么实现用户访问没有登陆时自动跳转登录页面的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue怎么实现用户访问没有登陆时自动跳转登录页面文章都会有所收获,下面我们一起来看看吧。设计思路定...
    99+
    2023-07-05
  • vue项目实现页面跳转的方法
    目录1.创建一个vue-cli默认项目(仅包含babel)2.进入创建文件3.检查配置4.创建views文件夹5.设置APP.vue6.进行main.js的配置7.运行结果问题描述:...
    99+
    2024-04-02
  • vue多页面前端项目的命令怎么使用
    今天小编给大家分享一下vue多页面前端项目的命令怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。首先,让我们创建一个基...
    99+
    2023-07-06
  • 在vue移动端项目中怎么实现页面缓存
    这篇文章主要介绍在vue移动端项目中怎么实现页面缓存,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!背景在移动端中,页面跳转之间的缓存是必备的一个需求。例如:首页=>列表页=>详情页。从首页进入列表页,列表...
    99+
    2023-06-14
  • vue页面怎么实现单点登录
    在vue页面中实现单点登录的方法有:1.通过Cookie作为凭证媒介实现;2.通过页面重定向方式实现;3.通过JSONP实现;具体方法如下:通过Cookie作为凭证媒介实现单点登录可以在vue中利用cookie作为媒介,用于存放用户凭证,当...
    99+
    2024-04-02
  • Android安卓实战项目---登陆注册页面(源码在文末)
    Android安卓实战项目---登陆注册页面(源码在文末🐕🐕🐕) 一.项目运行介绍 效果图: 二.具体实现 LoginActivity.java LoginActivity.ja...
    99+
    2023-10-26
    android android studio java
  • 怎么使用AJAX实现页面登陆以及注册用户名验证
    这篇文章主要介绍了怎么使用AJAX实现页面登陆以及注册用户名验证,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。AJAX即“Asynchronous Javascript An...
    99+
    2023-06-08
  • vue项目怎么刷新当前页面
    这篇文章将为大家详细讲解有关vue项目怎么刷新当前页面,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。场景在处理列表时,常常有删除一条数据或者新增数据之后需要重新刷新当前页...
    99+
    2024-04-02
  • vue+three.js实现炫酷的3D登陆页面示例详解
    目录前言:Three.js的基础知识关于场景关于光源关于相机(重要)关于渲染器完善效果创建一个左上角的地球使地球自转创建星星使星星运动创建云以及运动轨迹使云运动完成three.js有...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作