为什么 ember 没有对 REST 请求使用正确的主机
Why isn't ember using the correct host for REST requests?
我正在尝试使用余烬进行一个简单的 REST API 设置,但我无法让它达到正确的终点,我已经尝试了各种方法都无济于事,但我的代码目前看起来像这样:
window.App = Ember.Application.create({
LOG_TRANSITIONS: true,
LOG_TRANSITIONS_INTERNAL: true
});
App.ApplicationAdapter = DS.RESTAdapter.extend({
host: 'http://myserver.com'
});
/* Setup routes */
App.Router.map(function() {
this.route("bar");
});
App.BarRoute = Ember.Route.extend({
model: function() {
return this.store.findAll('bar');
}
});
在主索引模板中,我{{#link-to "bar"}}Bars{{/link-to}}
,但是当我单击链接(在本地运行页面)时,我在控制台中看到以下内容:
OPTIONS file://localhost/bars
无论我尝试什么,它总是使用相对 URL,而不是像我期望的那样为主机添加前缀,如果我在行Ember.$.ajax(hash);
的ember_data.js中放置断点,我可以看到hash.url
只是"/bars"。我在这里错过了什么?
不要忘记将适配器设置为存储,如下所示:
App.Adapter = DS.RESTAdapter.extend({
host: 'http://www.yourdomain.com',
namespace: 'url/path/to/app'
});
App.Store = DS.Store.extend({
adapter: App.Adapter
});
希望对你有帮助
在将 ember-data 升级到 1.0.0-beta2 版本后,这个答案对我有用。在遵循指南的某个阶段,我最终得到了一个较旧的版本,从那时起就发生了重大变化。
您是否正在尝试从本地文件系统运行 Ember 应用程序? 文件:///。。。 要使远程 AJAX 调用正常工作,您需要使用某种本地服务器通过 http(或 https)访问您的应用程序。
我认为您必须设置一些数据模型,然后为此模型连接适配器。
App.BarAdapter = DS.RESTAdapter.extend({
host:'http://myserver.com',
});
App.Bar = DS.Model.extend({
author: DS.attr('string'),
title: DS.attr('string'),
});
相关文章:
- 访问主机名/端口号以调用ajax请求
- 为什么 ember 没有对 REST 请求使用正确的主机
- 谷歌在请求外部文件的离线/本地主机应用程序中美化
- 使用本地主机/同一主机的http模块获取请求
- 从请求脚本的位置获取主机
- 从NodeJS请求获取主机
- Web服务和Javascript请求位于同一本地主机端口上
- Javascript将请求发布到不同的主机
- 本地主机对混合面板的请求是“0”;取消”;
- 为什么通过JavaScript从浏览器到本地主机的请求没有被阻止?
- 本地主机对ajax请求没有响应
- 跨域GET请求,浏览器和本地主机之间的差异进行调用
- Backbone.js不会发出跨主机请求
- Node.js服务器无需请求即可获得主机名
- php本地主机当前无法访问此请求
- 从本地主机读取node.js中的请求对象
- 从本地主机到同一wifi上的另一台服务器的Ajax请求
- 我想指定一个http请求的主机,Greasemonkey可以帮助我完成这项工作吗?
- ajax 请求在本地主机 wampserver 中不起作用
- 如果主机没有CURL扩展,如何通过php发送带有参数的get请求