CORSをサポートしていないサードパーティのJSONエンドポイントを使用しています。私は今日これを数時間研究し、簡単な解決策(複雑なものもいくつかあります)を見ていません。Meteor JS Node serverを使用してサードパーティの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