我有第三方JSON端点不支持CORS,我已经形成我的应用程序应通过服务器代理请求。我今天已经研究了几个小时,并没有看到一个简单的解决方案(几个复杂的解决方案......)。如何使用流星JS节点服务器代理第三方AJAX请求
所以基本上我需要做一些类似于request('http://localhost:3000/publications/jsonProxy')
的调用Meteor服务器。然后,我需要一个发布,使用安全令牌向第三方请求数据,并且我需要将该数据返回给浏览器。
我已经尝试这样的:
const request = require('request');
if (Meteor.isServer) {
Meteor.publish('jsonProxy', function jsonProxyPublication() {
var options = {
url: 'https://somewhere.com/api/endpoint',
headers: {
'API-Key': '123'
}
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
let info = JSON.parse(body);
console.log(info);
return info
} else {
console.error(error, response)
}
}
request(options, callback);
return this.ready()
});
}
然后:curl localhost:3000/publications/jsonProxy
。这可能不是正确的做法,我有点失落。
似乎很简单,任何人都可以点我正确的方式来获取这些数据回浏览器?
更新 - 我想通了,很快就会发布 – BradGreens