Kendo-Vue数据源。发送前问题

时间:2019-04-14 22:11:14

标签: vue.js kendo-ui kendo-datasource

我正在为我正在创建的应用程序使用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;
        }
      }
    }),

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

致谢。

1 个答案:

答案 0 :(得分:1)

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

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

以下示例代码在我这一边可以正常使用:https://stackblitz.com/edit/waonac?file=index.js