几个练手用的VUE请求接口

学习Vue的时候我们可以通过axios.get()/post()命令从指定的接口获取后台数据,下面是我平时收集的一些接口,供大家练习的时候使用:

一、获取一条随机的笑话
请求地址:https://autumnfish.cn/api/joke
请求方法:get
请求参数:无
响应内容:随机笑话

获取多条随机笑话
随机获取笑话的接口
请求地址:https://autumnfish.cn/api/joke/list
请求方法:get
请求参数:num:笑话的条数,值为数值。

二、用户验证
请求地址:https://autumnfish.cn/api/user/check
请求方法:post
请求参数:username:用户名,不能为空,通过send方法传递,格式为key=value
例:xhr.send(‘username=xxx’)
响应返回:该用户名是否可用

三、用户注册
请求地址:https://autumnfish.cn/api/user/register
请求方法:post
请求参数:username:用户名,不能为空,通过send方法传递,格式为key=value
xhr.send(‘username=xxx’)
响应返回:注册成功或失败

### Vue 3 初学者练习项目示例 对于初学者来说,通过实际动手实践来学习 Vue.js 是非常重要的。以下是几个适合使用 Vue 3 进行练习的项目创意和教程: #### 1. **待办事项列表** 构建一个简单的待办事项应用是一个经典的前端开发入门项目。它可以帮助开发者熟悉 Vue 的核心概念,如组件化、数据绑定以及事件处理。 - 使用 `v-model` 实现双向数据绑定[^3]。 - 创建多个组件(例如输入框、按钮、任务项),并通过 props 和 emit 来传递数据。 ```javascript // TodoList.vue <template> <div> <input v-model="newTodo" @keyup.enter="addTodo" /> <button @click="addTodo">Add</button> <ul> <li v-for="(todo, index) in todos" :key="index"> {{ todo }} <button @click="removeTodo(index)">Remove</button> </li> </ul> </div> </template> <script> export default { data() { return { newTodo: '', todos: [] }; }, methods: { addTodo() { this.todos.push(this.newTodo); this.newTodo = ''; }, removeTodo(index) { this.todos.splice(index, 1); } } }; </script> ``` --- #### 2. **天气预报应用** 利用公开 API 获取当前城市或指定城市的天气信息,并将其展示在一个友好的界面中。这有助于理解如何在 Vue 中发起 HTTP 请求并解析 JSON 数据。 - 可以选用 Axios 或 Fetch API 完成网络请求操作[^4]。 - 动态更新页面上的温度、湿度和其他气象参数。 ```javascript // WeatherApp.vue <template> <div> <h1>Weather App</h1> <p>{{ weatherData.temperature }}°C</p> <p>{{ weatherData.description }}</p> </div> </template> <script> import axios from 'axios'; export default { data() { return { weatherData: {} }; }, mounted() { const apiKey = 'your_api_key'; const city = 'Beijing'; axios.get(`http://api.openweathermap.org/data/2.5/weather?q=${city}&appid=${apiKey}`) .then(response => { this.weatherData = response.data.main; }); } }; </script> ``` --- #### 3. **计数器应用** 创建一个可以增加、减少或者重置数值的小型计数器程序。这个例子能够帮助巩固状态管理和方法调用的基础知识。 - 结合 Vuex 存储全局共享的状态管理逻辑[^1]。 ```javascript // Counter.vue <template> <div> <h1>Counter: {{ count }}</h1> <button @click="increment">Increment</button> <button @click="decrement">Decrement</button> <button @click="reset">Reset</button> </div> </template> <script> export default { data() { return { count: 0 }; }, methods: { increment() { this.count++; }, decrement() { this.count--; }, reset() { this.count = 0; } } }; </script> ``` --- #### 4. **博客文章管理系统** 设计一款简易版的文章发布平台,允许用户撰写新帖子、编辑现有内容以及删除不需要的内容条目。此过程涉及到了路由配置与表单验证等方面的知识点。 - 借助 Vue Router 设置不同路径下的视图切换功能[^2]。 ```javascript // ArticleForm.vue <template> <form @submit.prevent="handleSubmit"> <textarea v-model="content"></textarea><br/> <button type="submit">Save Post</button> </form> </template> <script> export default { data() { return { content: '' }; }, methods: { handleSubmit() { alert('Post saved!'); } } }; </script> ``` --- #### 5. **图片画廊** 制作支持上传照片到云端存储的服务端接口连接测试工具;同时也可以加入分页浏览效果提升用户体验感观质量水平。 - 需要引入第三方库比如 CropperJS 对图像裁剪预览等功能加以实现。 ```html <!-- ImageGallery.vue --> <input type="file" accept="image/*" @change="onFileChange"> <img ref="previewImage" alt="" /> <script> function onFileChange(e){ let file=e.target.files[0]; if(!file)return; var reader=new FileReader(); reader.onload=(e)=>{ document.querySelector('#imgPreview').src=reader.result; }; reader.readAsDataURL(file); } </script> ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值