使用 Kendo UI 数据源的 Authorization 标头拦截器

adn*_*nan 5 javascript kendo-ui asp.net-web-api kendo-datasource

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

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

});
Run Code Online (Sandbox Code Playgroud)

下面的代码行需要在所有数据源重复

headers: { 'Authorization': 'Bearer ' + accesstoken }
Run Code Online (Sandbox Code Playgroud)

是否可以制作中心函数来覆盖向请求标头提供令牌的剑道数据源标头?因为我有 600 多个数据源,所以我只想在一个地方设置令牌。

小智 4

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

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