Ответ 1
В JavaScript
jQuery.support.cors = true;
function make_base_auth(user, password) {
var tok = user + ':' + password;
var hash = btoa(tok);
return "Basic " + hash;
}
function DoTest() {
var TestRequest = new Object();
TestRequest.name = "Harry Potter";
TestRequest.Id = 33;
var username = "admin";
var password = "test";
$.ajax({
type: 'Post',
contentType: 'application/json',
cache: false,
async: false,
url: serverIP + '/TestAPI/'+ TestRequest.Id,
data: JSON.stringify(TestRequest),
dataType: "json",
beforeSend: function (xhr) {
xhr.setRequestHeader("Authorization", make_base_auth(username, password));
},
success: function (response, status, xhr) {
var s= response.message;
},
error: function (xhr, err) {
alert(xhr.statusText);
}
});
}
Конфигурация сервиса должна быть включена для CORS, например
Plugins.Add(new CorsFeature(allowedHeaders: "Content-Type, Authorization"));
возможно, мой предыдущий ответ может вам помочь.
Или даже лучше следующее сообщение из Ресурсы сообщества
CORS BasicAuth на ServiceStack с пользовательской аутентификацией