You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SvelteKit中使用+page.js获取外部CSV资源时出现CORS错误,但+page.server.js可正常请求的问题咨询

SvelteKit中使用+page.js获取外部CSV资源时出现CORS错误,但+page.server.js可正常请求的问题咨询

我翻了好多类似问题,但都没能用直白的大白话帮我搞懂这个基础问题。我现在在SvelteKit项目里尝试读取一个外部CSV文件,过程中遇到了CORS相关的难题,想请教各位大佬:

我一开始在+page.js的load函数里写了这段代码:

//+page.js
import Papa from 'papaparse';
export async function load({ fetch }) {
    const res = await fetch(
        'https://sites.ecmwf.int/data/climatepulse/data/series/era5_daily_series_2t_global.csv'
    ).then((r) => r.text());
    const { data } = Papa.parse(res, { header: true });
    return { data };
}

结果在启动开发服务器的终端里收到了这个错误:

Error: CORS error: No 'Access-Control-Allow-Origin' header is present on the requested resource at universal_fetch (<path....>node_modules/@sveltejs/kit/src/runtime/server/page/load_data.js:257:12) at process.processTicksAndRejections (node:internal/process/task_queues:105:5)

我自己琢磨着几个点,想确认下:

  • 是不是因为localhost发起的请求被目标资源拒绝了?那是不是我这边根本没办法解决,只能等对方服务器修改配置?
  • 如果我把这段请求代码放到+page.server.js里,是不是因为请求是从我的Node服务器发出去的,就可以正常获取资源?然后我还能把拿到的数据传给前端?
  • 还有个特别让我困惑的地方:我用R的read_csv函数读取这个文件完全没问题,一点障碍都没有,为什么前端用fetch就不行呢?

备注:内容来源于stack exchange,提问作者Lenn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 15:10:28