gpt4 book ai didi

ember.js - 如何在路由或 Controller 中访问 RESTAdapter 的主机和命​​名空间?

转载 作者:行者123 更新时间:2023-12-03 14:43:19 25 4
gpt4 key购买 nike

我在一些 Controller 和路由中使用了一些自定义的 AJAX 请求,例如:

 var loginRoute = Ember.Route.extend({

actions: {

submitLogin: function(user, pass) {

var data = { username: user, password: pass };

Ember.$.post('http://192.168.2.10/api/v1/login', data).then();
}

}
});

这工作正常,但在开发时我可能有不同的 IP(例如更改路由器)
我希望能够访问我在扩展 RESTAdapter 时定义的 URL(主机 + 命名空间),这样我只需更改 host和/或 namespace一次,而不是我执行自定义 ajax 请求的每个地方。
 App.ApplicationAdapter = DS.RESTAdapter.extend({
host: 'http://192.168.2.10',
namespace: 'api/v1'
});

最佳答案

原来您可以通过 this.store.adapterFor('application') 从商店访问适配器

新款submitLogin方法可能如下所示:

 submitLogin: function(user, pass) {

var data = { username: user, password: pass },
host = this.store.adapterFor('application').get('host'),
namespace = this.store.adapterFor('application').namespace,
postUrl = [ host, namespace, 'login' ].join('/'); // http://192.168.2.10/api/v1/login

Ember.$.post(postUrl, data).then();
}

关于ember.js - 如何在路由或 Controller 中访问 RESTAdapter 的主机和命​​名空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20388235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com