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页面

相关推荐
志栋智能1 小时前
运维超自动化的版本控制与回滚机制
运维·自动化
中云DDoS CC防护蔡蔡1 小时前
DDOS和CC攻击谁更可怕
运维·服务器·经验分享·网络安全·ddos
Ruiery2 小时前
Linux 6.6内核内存管理深度解析(十六):mmap — 用户态“申请内存“的真相
linux·运维·服务器
ClickHouseDB2 小时前
ClickHouse Cloud 与 Snowflake 实时性价比对比:CostBench 测试中的 412 倍差距来
运维·数据库·系统架构
欧米欧2 小时前
Linux系统篇(七),环境变量的底层溯源,核心获取机制与安全应用
linux·运维·服务器
Ruiery2 小时前
Linux 6.6内核内存管理深度解析(十八):KASLR 内核地址空间随机化
linux·运维·服务器·安全
todoitbo3 小时前
群晖NAS部署JmalCloud:Docker安装、文件管理、博客与公网访问完整教程
运维·docker·容器
时间售卖铺3 小时前
触发器与函数实战:MySQL高效编程秘诀
运维·数据库·mysql·云原生
前端精髓3 小时前
调用大模型API
运维·服务器·microsoft
跨境小彭4 小时前
Temu 全托管模式下,SKU 利润核算的实践复盘
大数据·运维·人工智能·自动化·temu