我是 Ember CLI 新手,一直在尝试让 ember cli 服务器将请求代理到我的 Rails 后端,但没有成功。
我安装了 Ember CLI v.0.39,并设置了通过 AJAX 从服务器获取模型的路由:
return Em.$.getJSON('/users').then(function(result){
return Em.A(result);
)};
我运行ember s --proxy "http://127.0.0.1:3000"
这是我的Rails端点。
请求是从浏览器发出的,但我没有发现它被转发到 Rails 端点的痕迹。 JavaScript 控制台提到了一个关于“路线:未定义”错误的错误,
我还在网上发现 v.0.39 在这方面存在一些问题,并已从 git ember-cli 代表处获取并使用 npm 链接
编辑了最新版本。
Error while loading route: undefined
我确实认为该错误消息完全是 AJAX 响应无效的结果。
任何想法将不胜感激。
最佳答案
使用 master,这对我来说效果很好。不过,您的示例存在一些语法问题。您的路线应如下所示:
import Ember from 'ember';
export default Ember.Route.extend({
model: function() {
return Ember.$.getJSON('/users').then(function(result){
return Ember.A(result);
});
}
});
一些可能有帮助的事情:
- 启动 ember 服务器时,请确保您的 Rails 服务器在端口 3000 上运行。
- 检查 Rails 服务器的日志以验证其是否正常工作。 Chrome 开发工具中的网络选项卡仍将显示为
http://localhost:4200
- 确保你们都运行了
npm link
在您的 ember-cli 克隆中,还运行了npm link ember-cli
来自您的 ember-cli 应用程序目录。
关于ember.js - Ember-cli 服务器 - 代理不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24905051/