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

相关推荐
jarreyer5 小时前
【AI Agent】大模型自动化载体
运维·自动化
xixingzhe25 小时前
SpringBoot + Nginx 免鉴权接口安全防护方案
运维·nginx·安全
翼龙云_cloud6 小时前
阿里云国际代理商:阿里云 ECS 全维度监控配置教程
运维·阿里云·云计算·监控
笑锝没心没肺6 小时前
fail2ban工具安装配置及使用
linux·运维·服务器
zt1985q8 小时前
本地部署开源智能家居集成平台 ioBroker 并实现外部访问( Windows 版本)
运维·服务器·智能家居
大卡片8 小时前
linux内核驱动开发
linux·运维·驱动开发
心心喵9 小时前
[linux] nohup和pm2的区别 进程保活
linux·运维·服务器
NGINX开源社区10 小时前
F5 NGINX Ingress Controller 5.3.0 新增功能
运维
SelectDB12 小时前
Apache Doris 在 AgentLogsBench 中领先,支撑 Agent 可观测性生产负载
运维·数据库·agent
荣-12 小时前
从两天到十几分钟:一套 YT Crash 自动化分析工具完整工程复盘
大数据·运维·自动化