我正在使用kendovue作为我正在创建的应用程序,问题是我必须在每个请求上发送持有者令牌。但我无法将其传递给服务器,因为分配给beforesend事件的函数具有请求的上下文而不是vue组件。
dataSource: new kendo.data.DataSource({
page: 1,
pageSize: 20,
serverPaging: true,
transport: {
read: {
url: "/api/users/list",
dataType: "json",
beforeSend: function (req) {
req.setRequestHeader('Authorization', 'bearer ' + this.$auth.token());
}
}
},
schema: {
total: function (data) {
return data.Data.Total;
},
data: function (data) {
let d = data.Items;
return d;
}
}
}),
有人能指出我正确的方向吗?
问候。
您可以将它定义为beforeSend:this.beforeSend方法,并将其添加到methods集合中,如下所示:
methods:{
beforeSend: function (req) {
req.setRequestHeader('Authorization', 'bearer ' + this.$auth.token());
}
}
这是一个在我身边正常工作的示例代码:https://stackblitz.com/edit/waonac?file=index.js。