我需要转换此OData检索(使用SAPUI5库):
var url = "http://someurl/SERVICE";
var username = "username";
var password = "password";
var oModel = new sap.ui.model.odata.ODataModel(url, true, username, password);
进入ajax调用,不使用SAPUI5库,保留身份验证:
$.ajax({
url : "http://someurl/SERVICE?$format=json",
type: "GET", //or POST?
dataType: "json",
data : {username : "username", password: "password"},
success: function(){alert("ok")},
error: function(){alert("error")}
})
我google了很多,但我找不到任何有用的东西..我不知道如何进行身份验证。
有可能吗?有什么想法吗?
答案 0 :(得分:2)
而不是设置“数据:...” 你需要以这种方式处理这个问题:
$.ajax({
url : "http://someurl/SERVICE?$format=json",
type: "GET", //or POST?
dataType: "jsonp",
xhrFields:
{
withCredentials: true
},
beforeSend: function (request)
{
request.setRequestHeader("Authorization", "Basic dG9tY2F0OnRvbWNhdA==");
},
success: function(){alert("ok")},
error: function(){alert("error")}
})
其中“dG9tY2F0OnRvbWNhdA ==”是base64编码的用户和密码。 当然,这仅适用于基本身份验证。
或另一种选择是直接将用户/密码放入网址:
$.ajax({
url : "http://user:password@someurl/SERVICE?$format=json",
type: "GET", //or POST?
dataType: "jsonp",
success: function(){alert("ok")},
error: function(){alert("error")}
})