使用Node.js / Angular在Google电子表格JSON上进行跨源请求

我试图从公开的Google Spreadsheets页面中检索JSON。 最初我试着只是做一个AJAX调用,数据被检索,但我不能保存数据到我的$范围。

接下来我尝试了$ http.get,但碰到了跨源请求问题。

然后,我的解决scheme是使用后端的请求模块来获取JSON

var request = require('request'); var url = "MY_URL"; request(url, function (error, response, body) { if (!error && response.statusCode == 200) { res.send(body); } }) 

我把它放在前端,所以我可以像这样在这个url上执行$ http.get请求

 $http.get(url).success(function(data){ console.log(data); }); 

但是,当我将其logging到控制台时,Chrome检查器无法parsingJSON,因为Google电子表格JSON在JSON区域之前有“gdata.io.handleScriptLoaded(”)。

我想知道是否有办法仍然可以parsing这个? 或者如果有一个更简单的方法来克服交叉原点请求的问题?

到目前为止,我正在考虑将string拼接成有效的JSON,但我相信还有更好的方法。

对于我的JSONurl,我最终得到了“alt = json-in-script”,使其成为JSONP而不是JSON。 解决scheme是用“alt = json”replace结束string。

然后为了绕过交叉原点请求,我使用了这个Chrome扩展 。