Svelte应用API请求桌面正常但移动端失败:CORS或HTTPS问题排查
Svelte应用API请求桌面正常但移动端失败:CORS或HTTPS问题排查
我正在开发一个Svelte应用,它从一个API获取随机名言。这个应用在桌面浏览器上运行完美,但在移动设备上无论是本地运行还是部署到Netlify后都无法获取数据。
我尝试过的方法
- 直接在桌面和移动浏览器中测试API——两者都能正常工作。
- 确认应用在桌面端的
http://localhost:5173本地运行正常,但移动设备(即使在同一局域网内)无法获取数据。 - 使用HTTPS将应用部署到Netlify——移动端仍然无法工作。我也确保了Netlify的构建设置是正确的。
- 使用Chrome DevTools在移动端调试时,发现了CORS错误和
net::ERR_FAILED的请求失败信息。 - 考虑过用代理绕过CORS,但如果可能的话我想避免这种方案。
- 切换到不同的免费名言API,包括当前使用的这个,但移动端的问题仍然存在。
我的请求代码
async function fetchQuote() { try { const response = await fetch('https://zenquotes.io/api/random', { method: 'GET', headers: { 'Content-Type': 'application/json', }, }); if (!response.ok) throw new Error('Failed to fetch quote'); const data = await response.json(); quote = data[0].q; author = data[0].a; } catch (error) { console.error('Fetch Error:', error); quote = 'Could not fetch a quote.'; author = 'Unknown'; } }
我的疑问
如何确保我的请求在移动设备上正常工作?移动端的CORS策略或SSL验证是否存在已知问题?解决这个问题的最佳方法是什么?
备注:内容来源于stack exchange,提问作者IsxImattI
相关产品推荐
相关产品推荐

