Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用SyncFusion ej.DataManager的基本身份验证_Javascript_Syncfusion - Fatal编程技术网

Javascript 使用SyncFusion ej.DataManager的基本身份验证

Javascript 使用SyncFusion ej.DataManager的基本身份验证,javascript,syncfusion,Javascript,Syncfusion,我正在努力将SyncFusions ej.Grid设置为在使用API获取或更新数据时使用基本身份验证。有人有过这样的经历吗?他们的朋友似乎很少 下面有一些我尝试过的例子。给定以下设置代码: var ticket = "Basic " + Base64.encode("username:password"); $('#Grid').ejGrid({ dataSource: dataManager, allowPaging: true, columns: ["Account

我正在努力将SyncFusions ej.Grid设置为在使用API获取或更新数据时使用基本身份验证。有人有过这样的经历吗?他们的朋友似乎很少

下面有一些我尝试过的例子。给定以下设置代码:

var ticket = "Basic " + Base64.encode("username:password");

$('#Grid').ejGrid({
    dataSource: dataManager,
    allowPaging: true,
    columns: ["AccountName", "CompanyName"]
});
此代码将显示chrome basic auth提示符:

var dataManager = ej.DataManager({
    url: "/api/app/imports/3",
    adaptor: new ej.WebApiAdaptor()
});
var dataManager = ej.DataManager({
    url: "/api/app/imports/3",
    adaptor: new ej.WebApiAdaptor(),
    beforeSend: function() {
        request.setRequestHeader("Authorization", ticket);
    }
});
var dataManager = ej.DataManager({
    url: "/api/app/imports/3",
    adaptor: new ej.WebApiAdaptor()
});

dataManager.dataSource.beforeSend = function() {
    request.setRequestHeader("Authorization", ticket);
}
这段代码将显示chrome basic auth提示符

已尝试,因为data.min.js中使用了“headers”对象

var dataManager = ej.DataManager({
    url: "/api/app/imports/3",
    adaptor: new ej.WebApiAdaptor(),
    headers: {
        Authorization: ticket
    }
});
此代码错误:未捕获类型错误:This.adapter.processQuery不是函数

由于

此代码将显示chrome basic auth提示符:

var dataManager = ej.DataManager({
    url: "/api/app/imports/3",
    adaptor: new ej.WebApiAdaptor()
});
var dataManager = ej.DataManager({
    url: "/api/app/imports/3",
    adaptor: new ej.WebApiAdaptor(),
    beforeSend: function() {
        request.setRequestHeader("Authorization", ticket);
    }
});
var dataManager = ej.DataManager({
    url: "/api/app/imports/3",
    adaptor: new ej.WebApiAdaptor()
});

dataManager.dataSource.beforeSend = function() {
    request.setRequestHeader("Authorization", ticket);
}
此代码将显示chrome basic auth提示符:

var dataManager = ej.DataManager({
    url: "/api/app/imports/3",
    adaptor: new ej.WebApiAdaptor()
});
var dataManager = ej.DataManager({
    url: "/api/app/imports/3",
    adaptor: new ej.WebApiAdaptor(),
    beforeSend: function() {
        request.setRequestHeader("Authorization", ticket);
    }
});
var dataManager = ej.DataManager({
    url: "/api/app/imports/3",
    adaptor: new ej.WebApiAdaptor()
});

dataManager.dataSource.beforeSend = function() {
    request.setRequestHeader("Authorization", ticket);
}

在对小型代码进行大量调试之后,我发现
ej.DataManager
构造函数确实接受
headers
属性,但需要对象列表,并将每个对象的每个属性用作HTTP头。因此,以下代码将包括您要查找的标题:

var dataManager = ej.DataManager({
    url: "/api/app/imports/3",
    adaptor: new ej.WebApiAdaptor(),
    headers: [{
        Authorization: ticket
    }]
});