【问题标题】:How to pass in data from Node JS Express with Ember-Ajax?如何使用 Ember-Ajax 从 Node JS Express 传递数据?
【发布时间】:2016-07-23 07:30:43
【问题描述】:

我正在使用 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 而不是自身?我在 ember 之后尝试过 --pxy ,但这不起作用。似乎它忽略了我创建的文件。我对 Ember 很陌生。

app/services/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',
  ]
});

app/routes/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'});
    }
});

【问题讨论】:

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


    【解决方案1】:

    你能写出你用来运行服务器的完整命令吗?类似的东西

    ember s --proxy http://localhost:9029
    

    应该可以。

    【讨论】:

    • 这就是我提到的使用。我注意到我的很大一部分困难可能是在不知不觉中使用了 Ember Data 功能。虽然我不知道从 AJAX 获取数据到 Ember 的过程。
    【解决方案2】:

    您应该在(应用程序)适配器中指定主机。

    // 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-21
      • 1970-01-01
      • 2021-06-14
      • 1970-01-01
      • 2013-07-04
      • 2021-06-21
      • 2019-09-30
      • 1970-01-01
      相关资源
      最近更新 更多