当前位置: 首页 > news >正文

vue3 通过 axios + jsonp 实现根据公网 ip, 查询天气信息

前提

安装 axios 的 jsonp 适配器。

pnpm install @pingtou/axios-jsonp

简单使用说明:当与后端约定的请求 callback 参数名称不为为 callback 时,可修改。一般无需添加。
在这里插入图片描述

1. 获取当前电脑 ip 和城市信息

请求地址: https://whois.pconline.com.cn/ipJson.jsp?ip=&jsonp=true
注意添加 jsonp = true。 使用 jsonp 的方式,避免生产环境出现跨域无法访问。

import axios from 'axios';
import { jsonpAdapter } from '@pingtou/axios-jsonp';// 获取当前设备访问的 ip 地址,返回 ip 和城市信息
export async function fetchGetIpAndCity() {try {// 线上会出现跨域,使用 jsonp 请求return axios({url: 'https://whois.pconline.com.cn/ipJson.jsp?ip=&jsonp=true',adapter: jsonpAdapter,});} catch (error) {return '';}
}

返回如下:
在这里插入图片描述

2.根据上一步返回的城市信息,调用腾讯天气接口

请求地址:https://wis.qq.com/weather/common?source=pc&weather_type=observe&province=${province}&city=${city}&jsonp=true

传入省市,注意添加 jsonp=true

// 获取天气export async function fetchGetWeather(province: string, city: string) {try {// 通过 jsonp 请求,避免线上请求时跨域return axios({url: `https://wis.qq.com/weather/common?source=pc&weather_type=observe&province=${province}&city=${city}&jsonp=true`,adapter: jsonpAdapter,});} catch (error) {return {};}
}

效果:
在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 0基础学习HTML(十七)字符字体
  • 【Go】Go 环境下载与安装教程(Windows系统)
  • 【环境搭建】MySQL安装部署
  • 数据结构应试-1
  • linux驱动开发-arm汇编基础
  • 用javascript写一个网页,显示日期时间
  • 优化理论及应用精解【11】
  • 爬虫技术初步自学
  • 国产操作系统
  • Cubieboard2(六)RTL8188ETV 驱动
  • 怎样写论文及论文格式?分享4款ai论文生成软件
  • 面试金典题2.3
  • C++第2课——取余运算符的应用、浮点型和字符型(含视频讲解)
  • 工业数据采集系统
  • 828华为云征文|华为云Flexus云服务器X实例Windows系统部署一键短视频生成AI工具moneyprinter
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • Angular 响应式表单之下拉框
  • Debian下无root权限使用Python访问Oracle
  • Java IO学习笔记一
  • Java 网络编程(2):UDP 的使用
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • react 代码优化(一) ——事件处理
  • 前端性能优化--懒加载和预加载
  • 如何借助 NoSQL 提高 JPA 应用性能
  • 使用 @font-face
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 网页视频流m3u8/ts视频下载
  • 一文看透浏览器架构
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • 责任链模式的两种实现
  • [Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk) ...
  • ionic异常记录
  • Python 之网络式编程
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • #我与Java虚拟机的故事#连载02:“小蓝”陪伴的日日夜夜
  • (0)Nginx 功能特性
  • (39)STM32——FLASH闪存
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (接上一篇)前端弄一个变量实现点击次数在前端页面实时更新
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (三分钟了解debug)SLAM研究方向-Debug总结
  • (四十一)大数据实战——spark的yarn模式生产环境部署
  • (一)springboot2.7.6集成activit5.23.0之集成引擎
  • (译) 函数式 JS #1:简介
  • (转)jdk与jre的区别
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .NET 解决重复提交问题
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .Net通用分页类(存储过程分页版,可以选择页码的显示样式,且有中英选择)
  • .NET正则基础之——正则委托
  • .one4-V-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复
  • @DependsOn:解析 Spring 中的依赖关系之艺术
  • @NestedConfigurationProperty 注解用法