我正在使用Node JS Express API在Ember网站上工作。我正在使用ember-ajax连接到API。
编辑:
Ember版本是1.13
Ember数据:1.13.15
问题是Ember将AJAX调用好像是指向localhost:4200(Ember),它应该发送到localhost:9029(Express)。当然,这会引发404。
如何将其发送给API,而不是将其发送给API?我在ember之后尝试过--pxy,但这不起作用。好像它忽略了我创建的文件。我对Ember很新。
应用程序/服务/ ajax.js
import Ember from 'ember';
import AjaxService from 'ember-ajax/services/ajax';
export default AjaxService.extend({
namespace: '/api',
host: 'http://localhost:9029',
trustedHosts: [
'http://localhost:9029',
]
});
应用程序/路由/ test.js
import Ember from 'ember';
import AjaxService from 'ember-ajax/services/ajax';
export default Ember.Route.extend({
ajax: Ember.inject.service(),
model() {
return this.get('ajax').request('/gimmieDatDate', {method: 'POST'});
}
});
答案 0 :(得分:0)
你能写出用来运行服务器的完整命令吗?像
这样的东西ember s --proxy http://localhost:9029
应该有用。
答案 1 :(得分:0)
您应该在(应用程序)适配器中指定主机。
// app/adapters/application.js
export default DS.JSONAPIAdapter.extend({
host: 'https://api.example.com'
});
文档:https://guides.emberjs.com/v2.4.0/models/customizing-adapters/#toc_host-customization