【前端开发】GitHub Pages网站无法通过Supabase接口提交/加载数据
问题正文:
开发环境:
部署平台:GitHub Pages 和netlify
数据库:Supabase PostgreSQL
问题描述:
我的个人网站(GitHub Pages部署)与Supabase数据库接口对接异常,具体表现为:
- 各种表单提交后无数据入库
如: - 首页留言板:https://lxqlixiaoqi.netlify.app/
- 日记界面:https://lxqlixiaoqi.netlify.app/diary
- 心情墙界面:https://lxqlixiaoqi.netlify.app/mood-wall
总之就是各种和上传数据到supabase的都无效
- 历史数据加载功能失效
出问题的网站:[
琪的网站
https://lxqlixiaoqi.netlify.app/
]
supabase网站项目地址:[
Supabase
Supabase Studio
]
https://supabase.com/dashboard/project/xlifqkkeewtsejxrrabg
已尝试的解决方案:
- 在Supabase控制台配置CORS白名单(包含GitHub Pages域名和localhost)
- 客户端初始化代码添加CORS头信息:
const supabase = supabase.createClient(supabaseUrl, supabaseKey, { global: { headers: { 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Methods': 'POST, GET, OPTIONS, DELETE, PUT' } } }); - 确保数据库表结构与代码匹配(diaries表包含content/weather/mood字段)
关键代码片段:
// 数据提交逻辑
const { data, error } = await supabase
.from('diaries')
.insert([{
content: cleanHtmlContent,
weather,
mood,
created_at: new Date().toISOString()
}]);
// 数据加载逻辑
const { data, error } = await supabase
.from('diaries')
.select('*')
.order('created_at', { ascending: false });