1
我正在開發使用電話差距,HTML5和jQuery的IPAD應用程序。我的web服務使用表單身份驗證構建在ASP.NET WEBAPI上。在訪問API時,身份驗證窗口會詢問用戶名和密碼。提供用戶名和密碼後,我們可以得到結果。但是,當使用jquery ajax來使用相同的服務時,會出現錯誤消息「未授權」。任何人都可以幫助解決這個問題。消費使用jQuery的授權asp.net webapi服務ajax
腳本塊,其中I M訪問的URL
$.ajax({
type: 'POST',
url: 'https://myservice.com/api/mypostmethod',
data: {
'item': ItemXml,
'room': RoomXml
'User_Id': 12313
},
success: function (result) {
ProcessResponse(result);
},
error: function (xhr, textStatus, error) {
console.log("Local To Live - " + xhr.statusText);
console.log("Local To Live - " + textStatus);
console.log("Local To Live - " + error);
}
});
如何調用這個服務?我也嘗試用戶jQuery的xhr標題和使用的代碼如下
function getAuthorizationHeader(username, password) {
var authType;
if (password == "") {
authType = "Cookie " + $.base64.encode(username);
}
else {
var up = $.base64.encode(username + ":" + password);
authType = "Basic " + up;
};
return authType;
};
$.ajax({
type: 'POST',
url: 'https://myservice/api/mypostmethod',
data: {
'item': '',
'room': '',
'User_Id': 12313
},
beforeSend: function (jqXHR, Settings) {
var AuthHeaders = getAuthorizationHeader("username", "password");
jqXHR.setRequestHeader("Authorization", AuthHeaders);
},
success: function (result) {
ProcessSyncResponse(result);
},
error: function (xhr, textStatus, error) {
alert("Error - StatusCode : "+xhr.status);
}
});
請幫助解決這個問題。 謝謝。