0

开始使用Ember.js和 ember-data。我按照本教程指导您创建 Twitter 时间线节目。它非常简洁,但不使用 ember-data,在我看来,这似乎是处理 REST API 的好方法。

在我的操场上,我创造了这样的东西:

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 一起使用(以及它如何处理同源策略......),因为在我看来,在查看文档之后,事实并非如此。我在控制台中看到以下错误:

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 回答