如何使用Ember-Ajax从Node JS Express传递数据?

时间:2016-04-03 20:57:57

标签: javascript ajax node.js express ember.js

我正在使用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'});
    }
});

2 个答案:

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