Kendo-Vue Datasource.beforeSend проблема - PullRequest
0 голосов
/ 15 апреля 2019

Я использую 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 Ответ

1 голос
/ 16 апреля 2019

Вы можете определить его как метод beforeSend: this.beforeSend и добавить его в коллекцию методов, как показано ниже:

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

Вот пример кода, который работал правильно на моей стороне: https://stackblitz.com/edit/waonac?file=index.js.

...