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

相关推荐
sorry#5 小时前
top简单使用
linux·运维
广东大榕树信息科技有限公司5 小时前
如何通过动环监控系统提升机房运行安全与效率?
运维·网络·物联网·国产动环监控系统·动环监控系统
半壶清水6 小时前
开源免费的在线考试系统online-exam-system部署方法
运维·ubuntu·docker·开源
QQ__17646198246 小时前
Ubuntu系统创建新用户与删除用户
linux·运维·服务器
渣渣盟6 小时前
Linux邮件服务器快速搭建指南
linux·服务器·开发语言
6极地诈唬6 小时前
【PG漫步】DELETE不会改变本地文件的大小,VACUUM也不会
linux·服务器·数据库
谷雨不太卷7 小时前
Linux_文件权限
linux·运维·服务器
无泪无花月隐星沉8 小时前
uos server 1070e lvm格式磁盘扩容分区
linux·运维·uos
Bruce_Liuxiaowei8 小时前
Nmap+Fofa 一体化信息搜集工具打造
运维·开发语言·网络·网络安全
Xの哲學8 小时前
Linux SLAB分配器深度解剖
linux·服务器·网络·算法·边缘计算