Meteorクライアントからサーバーに要求を送信し、サーバーがWebサイトにHTTP要求を行い、その応答をクライアントに返したいとします。メテオ収集なしのサーバー側ジョブを取得する
REST Webサーバーでは、HTTP GET
をクライアントからサーバーに送信し、サーバーは独自の要求を行い、クライアントに応答します。
私はMeteorアプリケーションにRESTインターフェースを追加しておらず、このオーバーヘッドをこの1つの必要性に追加したくありません。しかし、これを実現するためにコレクションを使用することは不十分であり、適切なツールではありません。
Meteorクライアントがコレクションを使用せずに何かをして応答を得るよう安全にサーバに依頼する方法はありますか?私は流星を乱しているなどの方法:
Meteor.methods({
'/http/get'(name, cbk) {
cbk = cbk || function() {};
HTTP.get('http://www.google.com', {}, (err, data) => {
cbk(err, data);
});
},
});
しかし、これは動作していないようです。呼び出しはクライアント側で行われています。
ありがとう!私はこれを試してみると、クライアントはサーバーと同様にHTTPリクエストを作成しようとし、CORSエラーを取得します。サーバだけがHTTPリクエストを作成してクライアントに返すようにするにはどうすればよいですか? – dthree
私は現在、HTTPリクエストにtry/catchを追加することでこれを動作させていますが、これは厄介なようです。 – dthree
照会されたオリジンに特別なヘッダーがない限り、現代のWebクライアントからのクロスオリジン要求を行うことはできません。これは必ずしも可能ではなく、実行可能であるとは限らず、この呼び出しをサーバーから行う必要があるのはこのためです。私はコードの各ビットがどこに行くかを正確にラベル付けしておきます。 – Jeremiah