gpt4 book ai didi

ember.js - 在模型中加载数据时实现自定义 ajax 调用

转载 作者:行者123 更新时间:2023-12-01 23:33:12 25 4
gpt4 key购买 nike

在我的 Emberjs 应用程序中,我有一个 Employee 模型,我应该通过 REST Get API 调用加载它,我必须先对 API 进行身份验证以获得 token ,然后开始加载数据,我知道如何使用 JQuery 轻松完成此操作,但是不确定如何在 EmberJS 中实现它,所以如果有人能指导我如何实现,我将不胜感激。

下面是我用于身份验证、提取员工数据的 JQuery 代码,以及我的 EmberJS 模型代码

谢谢

身份验证:

 $.ajax
({
type: "POST",
url: "http://portal.domainname.com/auth",
dataType: 'json',
async: false,
data: JSON.stringify({
Login: "logmein@email.com",
Password : "test"
}),
success: function(data) {
console.log(data); //Here I get the token needed for further calls...
},
error: function(xhr, error){
console.debug(xhr); console.debug(error);
}
});

加载员工数据的调用:

$.ajax   ({
type: "GET",
url: "http://portal.domainname.com/employees",
dataType: 'json',
async: false,
beforeSend: function (xhr) {
xhr.setRequestHeader ("Token", "0000000-0000-0000-0000-00000000");
},
success: function(data) {
console.log(data);
},
error: function(xhr, error){
console.debug(xhr); console.debug(error);
} });

EmberJS 模型

App.Store = DS.Store.extend({
revision: 11
});

App.Employee = DS.Model.extend({
employeeID: DS.attr('string'),
employeeName: DS.attr('string')
});

App.Store.reopen({
adapter: 'DS.RESTAdapter'
});

最佳答案

您可以像这样向所有 Ember AJAX 请求添加 header :

App.Store = DS.Store.extend({
revision: 13,
adapter: DS.RESTAdapter.extend({
ajax: function(url, type, hash) {
if (!hash) {
hash = {};
}
hash.beforeSend = function(xhr) {
xhr.setRequestHeader("Authorization", "Token " + window.sessionToken);
};
return this._super(url, type, hash);
}
})
});

我在生产中使用此代码。

关于ember.js - 在模型中加载数据时实现自定义 ajax 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21947548/

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