我能够使用ASP.NET消费服务(根本不是问题)。现在我想创建一个纯HTML页面并使用“OData Javascript Library”(datajs)访问该服务。
如果我禁用身份验证和请求数据,它可以正常工作。我找不到任何关于如何使用“datajs”发送认证头信息的示例代码(当与OData.Request和/或OData.Read一起使用时)。
有人可以帮我吗?
答案 0 :(得分:3)
如果您正在使用帖子中描述的基本身份验证,则可以使用OData.request的请求参数来传递用户名和密码。
http://datajs.codeplex.com/wikipage?title=datajs%20OData%20API#OData.request
你可以这样写:
OData.request({requestUri:"...", user:"user", password:"secret"}, function (data) { ... });
请注意,这不适用于跨域AJAX。
希望这有帮助!
答案 1 :(得分:0)
如果您正在使用datajs库进行服务集成,那么您可以使用上述方法进行odata服务,也可以使用下面的方法,如示例所示。 在这里,我在变量' oHeader'中设置了标题。并使用' btoa'传递它编码凭证的功能。
var oHeaders = {};
var uName="abc";
var pass="123";
var requrl="{service path}";
oHeaders['Authorization'] = "Basic " + btoa(uName +':'+ pass);
var request = {
headers: oHeaders,
requestUri: requrl,
method: "GET",
};
OData.request(request, function(data) {
// success block
}, function(data) {
// error block
});