vue3 - - - - - post请求实现文件下载

48 篇文章 3 订阅

vue3 - - - - - post请求实现文件下载

代码如下:

proxy
  .$https({
    url: `/api/export`,
    method: "post",
    data:{}, 
    responseType: "blob", // 设置响应值类型
  })
  .then(function (response) {
  	// 导出的是excel
    const blob = new Blob([response], {
      type: "application/vnd.ms-excel",
    });
    
    const downloadUrl = window.URL.createObjectURL(blob);
    const a = document.createElement("a");
    a.href = downloadUrl;
    a.download = "文件名"; // 这里可以根据响应头或其他逻辑设置文件名
    document.body.appendChild(a);
    a.click();
    window.URL.revokeObjectURL(downloadUrl);
    document.body.removeChild(a);
  })
  .catch(function (error) {
    console.log(error);
  })
  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为你提供关于Vue实战-实现登录页面的步骤和思路。 1. 创建一个Vue项目 首先,你需要使用Vue CLI创建一个Vue项目。在终端中输入以下命令: ``` vue create my-login-page ``` 其中,my-login-page是你的项目名称,你可以根据自己的喜好进行命名。 完成项目创建后,你需要进入项目目录并启动项目: ``` cd my-login-page npm run serve ``` 2. 创建登录页面 接下来,你需要创建一个登录页面。在src目录下新建一个Login.vue文件,并添加以下代码: ```html <template> <div> <h2>登录页面</h2> <form> <div> <label for="username">用户名:</label> <input type="text" id="username" v-model="username"> </div> <div> <label for="password">密码:</label> <input type="password" id="password" v-model="password"> </div> <button type="submit" @click.prevent="login">登录</button> </form> </div> </template> <script> export default { data() { return { username: '', password: '' } }, methods: { login() { // 在这里添加登录逻辑 } } } </script> ``` 这段代码定义了一个登录表单,包含用户名和密码两个输入框以及一个登录按钮。当点击登录按钮时,会触发login方法。 3. 添加登录逻辑 接下来,你需要在login方法中添加登录逻辑。你可以使用axios库向后端发送登录请求,并根据返回结果判断登录是否成功。 ```javascript import axios from 'axios' export default { data() { return { username: '', password: '' } }, methods: { login() { axios.post('/api/login', { username: this.username, password: this.password }) .then(response => { console.log(response.data) // 登录成功,跳转到首页 this.$router.push('/') }) .catch(error => { console.log(error) // 登录失败,提示用户错误信息 alert('登录失败,请检查用户名和密码是否正确!') }) } } } ``` 在这段代码中,我们使用axios库发送了一个POST请求到后端的/api/login接口,并传递了用户名和密码。如果登录成功,我们会在控制台输出返回结果并跳转到首页;如果登录失败,我们会弹出一个提示框提示用户登录失败。 4. 配置路由 最后,你需要在router/index.js文件中配置路由,将登录页面和首页进行关联。你可以使用Vue Router来实现这个功能。 ```javascript import Vue from 'vue' import VueRouter from 'vue-router' import Login from '../components/Login.vue' import Home from '../components/Home.vue' Vue.use(VueRouter) const routes = [ { path: '/', name: 'home', component: Home }, { path: '/login', name: 'login', component: Login } ] const router = new VueRouter({ mode: 'history', base: process.env.BASE_URL, routes }) export default router ``` 在这段代码中,我们定义了两个路由:/表示首页,/login表示登录页面。当用户访问/login时,会跳转到Login组件。 完成以上步骤后,你就成功地实现了一个登录页面。用户可以在这个页面中输入用户名和密码,并点击登录按钮进行登录。如果登录成功,用户会跳转到首页;如果登录失败,会提示用户登录失败的信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值