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

Javascript 使用Node.js/Angular在Google电子表格JSON上跨源请求,javascript,json,angularjs,node.js,google-sheets,Javascript,Json,Angularjs,Node.js,Google Sheets,我正在尝试从一个公共的Google电子表格页面检索JSON。最初,我尝试对它进行AJAX调用,并检索数据,但无法将数据保存到$scope中 接下来,我尝试了$http.get,但遇到了跨源请求问题 然后,我的解决方案是在后端使用请求模块来获取JSON,就像这样 var request = require('request'); var url = "MY_URL"; request(url, function (error, response, body) { if (!error &a

我正在尝试从一个公共的Google电子表格页面检索JSON。最初,我尝试对它进行AJAX调用,并检索数据,但无法将数据保存到$scope中

接下来,我尝试了$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);
    }
})
我把它放在一个端点上,这样从前端,我就可以像这样对该url执行$http.get请求

$http.get(url).success(function(data){
    console.log(data);
});
但是,当我将其登录到控制台时,Chrome inspector无法解析JSON,因为Google电子表格JSON在JSON区域之前有“gdata.io.handleScriptLoaded”()

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

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

对于我的JSON url,我在最后使用了“脚本中的alt=JSON”,使其成为一个JSONP而不是JSON。解决方法是用“alt=JSON”替换结束字符串


然后,为了绕过跨源请求,我使用了。

这是一个jsonp包装器。谢谢@charlietfl原来我在电子表格的脚本版本中得到了json,我应该得到json版本