vue3+elementPlus登录向后端服务器发起数据请求Ajax

后端的url登录接口

先修改main.js文件

复制代码
// 导入Ajax 前后端数据传输
import axios  from "axios";
const app = createApp(App)
//vue3.0使用app.config.globalProperties.$http
app.config.globalProperties.$http = axios 
app.mount('#app');

login.vue

复制代码
页面显示部分 
<template>
    
        <el-form ref="loginForm" :model="loginForm" :rules="rules"  > 
       
          <el-form-item label="用户">
            <el-input  v-model="loginForm.username" placeholder="请输入用户名"> </el-input>
          </el-form-item>
          <el-form-item label="密码">
            <el-input  v-model="loginForm.password" type="password" placeholder="请输入密码" show-password></el-input>
          <el-form-item>  
            <el-button  @click="login">登录</el-button>
          </el-form-item> 
      </div>
    </div>
</template>
登录过程的js 点击登录按钮 methos里面调用login登录方法

export default {
    name: "Login",
  data(){
      return{
        // 登录表单的数据绑定对象
        loginForm: {
          username: 'admin',
          password: '123'
        }
  },
  methods:{
      login(){
        this.$refs.loginForm.validate(valid => {
          if (!valid) return
          //登录调用的doLogin进行登录
          const result = this.$http.post('/api/doLogin',this.loginForm)  
          //先打印到浏览器控制台,看结果
          console.log(result)
         // 跳转到home页面
         this.$router.push('/home')
        })
      }
  }

}

此时前端有跨域问题 先配置跨域

vue.config.js 项目中如果没有这个文件 请自行创建。

复制代码
module.exports = {
    // 基本路径 baseURL已经过时
    publicPath: './',
    // 输出文件目录
    outputDir: 'dist',
    // eslint-loader 是否在保存时检查
    lintOnSave: false,
    devServer: {
        // 前端显示端口号
        port: 8080,
        // 配置不同的后台API地址
        proxy: {
            '/api': {
                target: 'http://localhost:8000/api',    // 后台地址,根据实际后端接口
                ws: true,
                changeOrigin: true,   //允许跨域
                secure: false,       //是否为https接口
                pathRewrite: {
                    '^/api': ''
                }
            }
        }
    }
}

此时可以看到跳转到登录到home页面

相关推荐
森G7 分钟前
75、服务器源码解析---------云视频服务项目
linux·服务器·网络·c++·qt
张飞飞飞飞飞12 分钟前
Tmux命令使用教程
linux·服务器·ubuntu
難釋懷35 分钟前
Nginx反向代理中的容错机制
运维·nginx
杨浦老苏38 分钟前
轻量级Docker仪表板Servedash
运维·docker·监控·群晖·仪表板
正经教主43 分钟前
【docker基础】 第八周:容器监控与应用更新策略
运维·docker·容器
志栋智能1 小时前
超自动化巡检:如何选择适合你的起点?
运维·自动化
bloglin999991 小时前
Nginx高危漏洞CVE-2021-23017及配置样例
运维·nginx
森G1 小时前
77、线程池原理和实现------服务器源码解析----云视频服务项目
服务器·c++·qt
qeen871 小时前
【Linux】Linux简单介绍与基本指令(上)
linux·运维·服务器·学习
kiros_wang1 小时前
Docker 使用完整指南
运维·docker·容器