使用 Kendo UI 数据源的授权拦截器 headers

Interceptor for Authorization headers using Kendo UI datasource

我正在使用网络 api 并限制网络 api 通过令牌进行身份验证,因此为了填充数据源,我在数据源中使用请求 headers。

var abcDatasource = new kendo.data.DataSource({
    transport: {
        read: {
            url: '/api/exampledata',
            dataType: 'json',
            headers: { 'Authorization': 'Bearer ' + accesstoken }
        },
    },
    pageSize: 5, 

});

以下代码行需要在所有数据源中重复

headers: { 'Authorization': 'Bearer ' + accesstoken }

是否可以创建覆盖 kendo 为请求 headers 提供令牌的数据源 headers 的中央函数?因为我有 600 多个数据源,所以我只想在一个地方设置令牌。

是的,您可以在每次发送请求时全局设置一个特定的 header。试试这个,

$(document).ajaxSend(function (event, jqXHR, options) {
    jqXHR.setRequestHeader('Authorization', 'Bearer ' + accesstoken);
});