9

Meteorでメソッドを使用してJSONクエリの外部サーバーを呼び出そうとすると、Meteor.http.call("GET")「Access-Control-Allow-Originで許可されていません」というエラーメッセージが表示されます。

自分のmeteorアプリが他のサーバーにHTTP呼び出しを行えるようにするにはどうすればよいですか?今はローカルホストで実行しています。

私が実行するコードは次のとおりです。

Meteor.http.call("GET", 
                 "http://api.vasttrafik.se/bin/rest.exe/v1/location.name?authKey=XXXX&format=json&jsonpCallback=processJSON&input=kungsportsplatsen", 
                  function(error, result) {
                          console.log("test");    
                      }
                 );
4

1 に答える 1

4

StackOverflow には、これと同様の質問が他にもあります。

クライアント側(AJAX)からこれを行うと、接続しようとしているサーバーによって制限されます。

これを解決する 1 つの方法は、外部サーバーにアクセスできる場合、次の方法でヘッダー ファイルを変更して一部またはすべてのオリジンを許可することです。

Access-Control-Allow-Origin: *

ただし、サーバー側で呼び出しを行い、コールバック関数を提供しない場合、呼び出しは同期的に行われるため、AJAX ではなく、成功するはずです。

こちらです

Meteor.methods({checkTwitter: function (userId) {
   this.unblock();
   var result = Meteor.http.call("GET", "http://api.twitter.com/xyz", {params: {user: userId}});
   if (result.statusCode === 200) return true
   return false;
}}); 
于 2012-10-29T17:40:29.670 に答える