ASP.NET MVC 애플리케이션의 jquery ajax 게시물과 함께 OWIN을 통해 Windows 서비스에서 호스팅되는 웹 API를 호출하고 있습니다 (데이터를 통해 데이터 게시). '옵션). Windows 통합 인증을 추가하기 전까지는 작동했습니다. xhrFields : {withCredentials : true}를 $ .ajax 호출에 추가하여 클라이언트 쪽 인증을 완료했습니다. 이제 반환 된 데이터는 null입니다.
이공공 HttpResponseMessage PostSomething ([FromBody] 문자열 DATAIN)
참고로, 문자열이 너무 될 수 있습니다 여기에
public class Startup
{
public void Configuration(IAppBuilder appBuilder)
{
var config = new HttpConfiguration();
var listener =
(HttpListener)appBuilder.Properties["System.Net.HttpListener"];
listener.AuthenticationSchemes = AuthenticationSchemes.IntegratedWindowsAuthentication;
//Maps Http routes based on attributes
config.MapHttpAttributeRoutes();
config.Filters.Add(new AuthorizeAttribute());
//Enable WebApi
var cors = new EnableCorsAttribute("*", "*", "*");
cors.SupportsCredentials = true;
config.EnableCors(cors);
appBuilder.UseWebApi(config);
}
}
웹 API 방법입니다 : 여기
내 서버 측 시작이다 URI에 전달할 큰 수입니다.
function TestAjax() {
$.ajax({
url: 'http://localhost:8080/api/Test/PostSomething',
xhrFields: { withCredentials: true },
type: 'post',
data: 'test'
}).done(function (response) {
alert(response);
});
}
DATAIN 항상 널 :
다음은 $ 아약스 호출입니다.