0

Ember.jsと ember-dataをいじり始めました。Twitter タイムライン ショーの作成をガイドするこのチュートリアルに従いました。これは非常に優れていますが、REST API を処理するための良い方法と思われる ember-data を使用していません。

私の遊び場では、次のようなものを作成しました。

EmberTwitter.Tweet = DS.Model.extend({
  avatar: null,
  screen_name: null,
  text: null,
  date: null,
  url: "http://api.twitter.com/1/statuses/user_timeline.json?screen_name=naoj_gior"
});

var tweets = EmberTwitter.store.findAll(EmberTwitter.Tweet);

ember-data が外部 API と連携する準備ができているかどうか (およびそれがSame Origin Policyをどのように処理するか...) を知りたいのですが、それは私には思えますが、ドキュメントを見た後ではそうではありません。コンソールに次のエラーが表示されます。

Resource failed to load: file:///tweets

ember.js を使用して外部 API を取得するにはどうすればよいでしょうか?

4

1 に答える 1

0

その通りです。ブラウザで実行されるため、他のすべてのライブラリ/プレーン JS と同じルールが適用されます。リクエストを通過させるある種のサーバー プロキシ (PHP スクリプトなど) を使用する必要があります。

この種のプロキシ (PHP で記述) の例は、 http ://www.daniweb.com/web-development/php/code/216729/php-proxy-solution-for-cross-domain-ajax で確認できます。 -スクリプティング

一般的な考え方は、単にサーバーを使用して Javascript に代わってリクエストを行い、それをエコーアウトするというものです。

また、誰かが IFrame を使用して同じ目的を達成したようです。次の例も Ember.js なので、うまくいくかもしれません: http://eng.netwallet.com/2012/04/17/simple-cross-domain-ajax-with-a-wormhole-5/

于 2012-08-10T05:07:23.700 に答える