【发布时间】:2016-12-05 07:31:40
【问题描述】:
我有一个不支持 CORS 的第 3 方 JSON 端点,我已经知道我的应用程序应该通过服务器代理请求。我今天已经研究了几个小时,但没有看到一个简单的解决方案(几个复杂的解决方案......)。
所以基本上我需要做一些类似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。这可能不是正确的方法,我有点迷茫。
看起来很简单,谁能指出将这些数据返回到浏览器的正确方法?
【问题讨论】:
-
更新 - 我想通了,很快就会发布
标签: javascript meteor http-proxy