Vue调用和风天气API(详细步骤,含源码)

和风天气

和风天气官网: https://www.qweather.com/
和风天气提供全球天气预报、气象可视化、商业化气象服务和天气API数据,包括30天预报、灾害预警、空气质量AQI、历史天气、生活指数、分钟降水、交通天气等
主要是:免费
在这里插入图片描述

第一步:注册账号,自己注册登录就行。注册网址: https://id.qweather.com/#/register
在这里插入图片描述

第二步:进入控制台
在这里插入图片描述
第三步:创建应用
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
第四步:获取key
在这里插入图片描述
第五步:进去开发者文档
在这里插入图片描述
城市信息搜索必须参数有两个:location和key
location:你要搜索的城市名(最小范围到县)
key:前面保存的key

在这里插入图片描述
实况天气请求必须参数也是两个:location和key
location:根据前面城市查询获取到的城市ID
key:前面保存的key

准备完成后,开始代码编写

源代码(不愿意看过程的,可以直接看源代码)

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<div id="app">
			<form>
				<input type="text" v-model="city">
				<button @click.prevent="searchWeather">提交</button>
			</form>
			<div id="weather">
				<h1>新API</h1>
				<h2>{{tmpNew}}</h2>
				<h3>{{briefNew}}</h3>
			</div>
			<div id="weather">
				<h1>老API</h1>
				<h2>{{tmpOld}}</h2>
				<h3>{{briefOld}}</h3>
			</div>
		</div>
	</body>
	<script>
		var app = new Vue({
			el:"#app",
			data:{
				city:"广州",
				tmpNew:"",
				briefNew:"",
				tmpOld:"",
				briefOld:"",
				
			},
			methods:{
				searchWeather:async function(){//注意:这里有 async 用来完成异步操作
					//由于调用api是异步操作
					//在请求的时候需要用async+await让它同步,否则数据不好取出
					//如果没有await返回的是一个Promise 对象,我学术短浅,暂时没学到,不会取

					let key = ""//引号中放入前面保存的key

					//方法一:老的API
					//老的api
					//这里的引号是tab键上面的引号,主要作用是方便数据拼接
					let httpUrlOld=`https://free-api.heweather.net/s6/weather/now?location=${this.city}&key=${key}`
					let resOld = await fetch(httpUrlOld)//请求数据
					let resultOld = await resOld.json()//将请求的数据转换为json数据类型
					let nowOld = resultOld.HeWeather6[0].now//获取到json数据中的实况天气
					console.log(nowOld)
					this.tmpOld = nowOld.tmp;//获取到当前温度
					this.briefOld = nowOld.cond_txt;//获取到当前天气

					//方法二:新的API
					//获取城市的ID
					let httpUrl = `https://geoapi.qweather.com/v2/city/lookup?location=${this.city}&key=${key}`
					let res = await fetch(httpUrl)
					let result = await res.json()
					let id = result.location[0].id
					//根据城市id获取具体的天气
					let httpUrl1 = `https://devapi.qweather.com/v7/weather/now?location=${id}&key=${key}`
					let res1 = await fetch(httpUrl1)
					let result1 = await res1.json()
					let now = result1.now
					this.tmpNew =now.temp
					this.briefNew = now.text
				}
			}
		})
	</script>
</html>

运行效果截图:
在这里插入图片描述
注:如有错误或可以改进的地方,欢迎各位指正学习!

  • 15
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 答:Vue 通过 axios 库来连接后端,下面给出的是演示源码:// 引入 axios import axios from 'axios'// 设置基础 URL axios.defaults.baseURL = 'http://localhost:3000'// 获取数据 axios.get('/data').then(response => { // 处理数据 ... })// 提交数据 axios.post('/data', { data: 'data' }).then(response => { // 处理响应 ... }) ### 回答2: Vue是一种适用于构建用户界面的JavaScript框架,而连接后端主要是指使用Vue与后端服务器进行通信,实现数据的传输与交互。下面是一些连接后端的详细步骤以及相关源码示例: 步骤1:创建Vue项目 首先,我们需要使用Vue CLI创建一个基本的Vue项目。在命令行中执行以下命令: ``` vue create vue-backend-connection ``` 步骤2:安装Axios Axios是一个常用的JavaScript库,用于进行HTTP请求。在项目目录中执行以下命令安装Axios: ``` npm install axios ``` 步骤3:在Vue组件中发送请求 在Vue组件中,我们可以使用Axios发送HTTP请求与后端进行通信。以下是一个简单的示例,发送GET请求获取后端返回的数据: ```javascript <template> <div> <button @click="getData">获取数据</button> <p>{{ responseData }}</p> </div> </template> <script> import axios from 'axios'; export default { data() { return { responseData: '' } }, methods: { async getData() { try { const response = await axios.get('http://后端服务器地址/api/data'); this.responseData = response.data; } catch (error) { console.error(error); } } } } </script> ``` 步骤4:处理后端请求 在后端服务器中,我们需要根据请求的路径进行相应的处理,并返回数据给前端。以下是一个使用Express框架的示例: ```javascript const express = require('express'); const app = express(); app.get('/api/data', (req, res) => { const responseData = { message: 'Hello from the backend!' }; res.json(responseData); }); app.listen(3000, () => { console.log('后端服务器启动成功!'); }); ``` 步骤5:运行项目 最后,执行以下命令在本地运行Vue项目: ``` npm run serve ``` 通过以上步骤,我们成功地连接了Vue与后端服务器,实现了数据的传输与交互。 注意:在实际开发中,需要根据具体的后端框架和要求进行相应的配置和处理。以上示例仅提供了一个基本的连接后端的思路和示例代码。 ### 回答3: Vue连接后台的详细步骤如下: 1. 安装Vue CLI:首先确保你已经安装了Node.js,然后打开命令行工具,运行以下命令安装Vue CLI:`npm install -g @vue/cli`。这将全局安装Vue CLI用于创建和管理Vue项目。 2. 创建Vue项目:运行命令`vue create project-name`创建一个新的Vue项目。根据提示进行配置,选择使用默认配置或手动配置,然后等待项目创建完成。 3. 安装Vue Router:在项目目录下运行命令`npm install vue-router`,安装Vue Router用于实现前端路由。 4. 创建后端API:在后端创建API接口用于提供数据。根据后台框架的不同,可以使用Express或Django等来创建API接口。 5. 使用Axios发送请求:在Vue项目中使用Axios发送HTTP请求到后端API接口。在main.js文件中添加以下代码引入Axios:`import axios from 'axios'`。然后通过`Vue.prototype.$http = axios`将Axios绑定到Vue实例上,使其在整个项目中都可以使用。 6. 创建Vuex状态管理:如果需要在工程中使用Vuex进行状态管理,可以使用`npm install vuex`安装Vuex,然后在项目中创建store.js文件配置Vuex。 7. 在Vue组件中使用API:在Vue组件中使用Axios发送请求调用后端API。根据需要创建不同的Vue组件,在组件中使用Axios发送请求获取和更新数据。 8. 使用Vue Router配置路由:在router.js文件中配置Vue Router,根据需要定义不同的路由规则和组件。通过Vue Router实现前端路由导航。 9. 运行项目:完成以上步骤后,运行`npm run serve`命令启动项目。浏览器会自动打开,并展示Vue应用程序。在浏览器中进行操作,即可与后端进行数据交互。 以下是一个简单的Vue组件与后端API交互的示例代码: ```javascript // 在组件中发送HTTP请求获取数据 export default { data() { return { data: [] } }, mounted() { this.getData(); }, methods: { getData() { this.$http.get('/api/data') .then(response => { this.data = response.data; }) .catch(error => { console.log(error); }); } } } ``` 这是一个基本的连接Vue和后端的步骤,你可以根据实际情况进行扩展和调整。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值