我正在为我正在创建的应用程序使用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;
}
}
}),
有人可以指出我正确的方向吗?
致谢。
答案 0 :(得分:1)
您可以将其定义为beforeSend方法:this.beforeSend并将其添加到方法集合中,如下所示:
methods:{
beforeSend: function (req) {
req.setRequestHeader('Authorization', 'bearer ' + this.$auth.token());
}
}
以下示例代码在我这一边可以正常使用:https://stackblitz.com/edit/waonac?file=index.js。