使用Node.js / Angular对Google电子表格JSON进行跨域请求

Cross Origin Request on Google Spreadsheet JSON with Node.js / Angular

本文关键字:JSON 请求 电子表格 Google js Node Angular 使用      更新时间:2023-09-26

我试图从公共谷歌电子表格页面检索JSON。最初我尝试只是做一个AJAX调用它,数据被检索,但我不能保存数据到我的$作用域。

接下来我尝试了$http。Get但是遇到了跨域请求问题。

我的解决方案是使用后端请求模块来获取JSON,如

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

我把它放在一个端点,所以从前端,我可以做$http。像这样把请求放到url上

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

然而,当我将其登录到控制台时,Chrome检查器无法解析JSON,因为谷歌电子表格JSON有"gdata.io"。handleScriptLoaded("在JSON区域之前。

我想知道是否有一种方法仍然能够解析这个?或者是否有更简单的方法来解决跨原点请求问题?

到目前为止,我正在考虑只是将字符串拼接成有效的JSON,但我确信有更好的方法。

对于我的JSON url,我在末尾有"alt= JSON -in-script",使其成为JSONP而不是JSON。解决方案是将结束字符串替换为"alt=json"。

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