前端 fetch API 调用 Tushare 的数据接口获取免费的基金股票信息数据

news/2025/2/24 11:02:13

要在前端使用 JavaScript 的 fetch API 调用 Tushare 的数据接口,您需要遵循以下步骤:

1. 注册 Tushare 账号并获取 Token

首先,访问 Tushare 官网 注册账号。注册成功后,登录账号,在个人中心获取您的 API Token。
在这里插入图片描述

在这里插入图片描述

2. 构建请求参数

Tushare 的 API 接口采用 POST 请求方式,参数需要以 JSON 格式传递。以下是一个示例请求参数:

{
  "api_name": "stock_basic",
  "token": "您的 Tushare Token",
  "params": {
    "list_status": "L",
    "exchange": "SSE"
  },
  "fields": "ts_code,symbol,name,area,industry,list_date"
}

在上述参数中:

  • api_name:指定要调用的接口名称,例如 stock_basic
  • token:您的 Tushare Token。
  • params:接口所需的参数。
  • fields:需要返回的字段。

3. 使用 fetch 发送 POST 请求

前端 JavaScript 中,使用 fetch API 发送 POST 请求,传递上述参数。以下是示例代码:

const url = 'http://api.tushare.pro';

const params = {
  api_name: 'stock_basic',
  token: '您的 Tushare Token',
  params: {
    list_status: 'L',
    exchange: 'SSE'
  },
  fields: 'ts_code,symbol,name,area,industry,list_date'
};

fetch(url, {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify(params)
})
  .then(response => response.json())
  .then(data => {
    if (data.code === 0) {
      console.log('请求成功:', data.data);
    } else {
      console.error('请求失败:', data.msg);
    }
  })
  .catch(error => {
    console.error('请求错误:', error);
  });

在上述代码中:

  • url:Tushare API 的请求地址。
  • params:请求参数,需根据实际需求进行调整。
  • fetch:发送 POST 请求,body 中传递 JSON 格式的参数。
  • response.json():将响应转换为 JSON 格式。
  • data.code:检查返回的状态码,0 表示成功。
  • data.data:获取返回的数据。

4. 处理响应数据

根据接口返回的数据结构,您可以在 .then(data => { ... }) 中处理返回的数据。例如,您可以将数据渲染到网页上,或者进行其他操作。

注意事项:

  • 跨域问题:由于浏览器的同源策略,直接在前端调用 Tushare 的 API 可能会遇到跨域请求限制。为解决此问题,您可以:

    • vue项目中开发环境调用可以配置代理来解决
    proxy: {
        '/api': {
          target: 'https://api.tushare.pro',
          changeOrigin: true,
          rewrite: (path) => path.replace(/^\/api/, '')
        }
      }
    
    • 在服务器端代理请求,即前端请求您的服务器,服务器再请求 Tushare 的 API,然后将结果返回给前端
    • 使用 Tushare 提供的 JavaScript SDK,如 tushare.js,该 SDK 封装了 API 调用,可能已处理了跨域问题。
    • 使用 JSONP 或其他跨域技术,但这些方法可能存在安全隐患,需谨慎使用。
  • API 限制:Tushare 的免费 API 调用次数有限制,具体限制请参考 Tushare 的官方文档。

  • 错误处理:在实际开发中,建议添加更多的错误处理逻辑,以确保应用的健壮性。


http://www.niftyadmin.cn/n/5864243.html

相关文章

Day1 初识AndroidAudio

今日目标 搭建Android Audio开发环境理解音频基础概念实现第一个音频播放/录制Demo了解车载音频的特殊性 上午:环境搭建与理论学习 步骤1:开发环境配置 安装Android Studio(最新稳定版)创建新项目(选择Kotlin语言&a…

Leetcode-42. Trapping Rain Water [C++][Java]

目录 一、题目描述 二、解题思路 【C】 【Java】 Leetcode-42. Trapping Rain Waterhttps://leetcode.com/problems/trapping-rain-water/description/ 一、题目描述 Given n non-negative integers representing an elevation map where the width of each bar is 1, co…

每天五分钟深度学习pytorch:使用Inception模块搭建GoogLeNet模型

本文重点 前面我们学习了Incetption模块,它的作用类似于vgg块对于VGG网络模型一样,本文我们使用Inception搭建GoogLeNet网络,如果使用卷积层开始从头开始搭建GoogleNet,那么这样看起来会很不清晰,我们使用已经封装好的Inception来搭建GoogLeNet网络 关键点 关键点在于I…

想学python进来看看把

目录 什么是python 我将列举python与其他几种编程语言的对比 Python vs Java Python vs JavaScript Python vs C​编辑 我将列举代码示例帮大家来理解 python c/c java 写一个python程序 你一定要知道什么是BUG呦 遇到bug怎么办 1. 保持冷静 2. 重现 Bug 3. 阅…

RabbitMQ学习—day6—springboot整合

目录 1. springboot配置 2. 开始写RabbitMq代码 3. 队列优化 4. 插件实现延迟队列 5. 总结 前一小节我们介绍了死信队列,刚刚又介绍了 TTL,至此利用 RabbitMQ 实现延时队列的两大要素已经集齐,接下来只需要将它们进行融合,再加…

信息学奥赛一本通1005题解

数学好的朋友们应该都知道,这是一道数学题,绝对不是什么算法题,我们看原题: 假设地球上的新生资源按恒定速度增长。照此测算,地球上现有资源加上新生资源可供𝑥亿人生活𝑎年,或供&a…

更改visual studio 2022 默认NuGet包路径

本文章仅提供更改用户级别的NuGet包默认路径的更改,电脑级别的更改需要更改%ProgramData%\NuGet\Config\machine.config, 而且需要管理员权限,但是更改内容类似用户级别的NuGet更改。 1. 关闭VS 2. 打开NuGet配置文件路径 可通过以下两种方…

Linux 命令大全完整版(05)

2. Linux 系统设置命令 export 功能说明:设置或显示环境变量。语  法:export [-fnp][变量名称][变量设置值]补充说明:在 shell 中执行程序时,shell 会提供一组环境变量。export 可新增、修改或删除环境变量,供后续…