Flask应用JSON数据无法通过getJSON在GitHub.io页面展示问题
解决GitHub.io页面AJAX请求GCE Flask接口无数据返回的问题
背景情况
我最近在Google Compute Engine(GCE)的虚拟机上部署了一个Flask应用,需要在我的GitHub.io静态页面上获取这个VM输出的JSON数据——目前数据是静态格式,后续会实现自动更新。
遇到的问题
我用AJAX/JQuery发起GET请求后,能在VM的活动日志里看到对应的请求记录,但页面就是没法获取到返回的数据。奇怪的是,直接在浏览器地址栏输入VM的接口地址,能正常显示JSON内容:
{"otherstuff":"somemorethings","stuff":"Some Number"}
尝试过的无效操作
为了排查问题,我试了不少方法,但都没解决:
- 分别用按钮点击触发、文档就绪(
$(document).ready())触发、页面加载(window.onload)触发请求脚本,结果都是能发起请求,但页面拿不到数据 - 尝试开启/关闭CORS设置,也翻了一堆相关问题的解决方案,都没起效
成功解决的办法
最后发现问题居然出在数据处理的小细节上!我没有直接用返回的data.stuff去更新页面,而是先把它赋值给一个中间变量:
var plot_id = data.stuff;
然后用这个plot_id变量去更新页面内容,就成功在GitHub.io页面上展示出Flask返回的"Some Number"数据了!
内容的提问来源于stack exchange,提问作者Conor Barry-Hoke
相关产品推荐
相关产品推荐

