Kendo-Vue Datasource.beforeSend问题

问题描述 投票:0回答:1

我正在使用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;
        }
      }
    }),

有人能指出我正确的方向吗?

问候。

vue.js kendo-ui kendo-datasource
1个回答
1
投票

您可以将它定义为beforeSend:this.beforeSend方法,并将其添加到methods集合中,如下所示:

  methods:{
      beforeSend: function (req) {
        req.setRequestHeader('Authorization', 'bearer ' + this.$auth.token());
      }
    }

这是一个在我身边正常工作的示例代码:https://stackblitz.com/edit/waonac?file=index.js

© www.soinside.com 2019 - 2024. All rights reserved.