나는이 코드`는
[WebInvoke(Method = "POST",
BodyStyle = WebMessageBodyStyle.Wrapped,
ResponseFormat = WebMessageFormat.Xml)]
public string GetMediaLoops()
{
string strFileName = "GetMediaLoops_response.xml";
string strResult = GetFileData(strFileName);
return strResult;
}`
각도 측면과 같은 기능 GetMediaLoops이있는 MediaServiceLoop.svc 파일이이`
mainApp.factory('MediaService', ['$http', function ($http) {
var factory = {};
factory.getMediaLoops = function() {
return $http.post("http://localhost:62467/MediaLoopService.MediaLoop.svc/GetMediaLoops");
}
return factory;}]);
처럼 보인다
Controller code:
MediaService.getMediaLoops()
.then(function (response) {
$scope.media = response.data;
}, function (error) {
$scope.status = 'Unable to load customer data: ' + error.message;
});
`
저는 Postman과 Chrome Network () 모두에서 응답을받을 수 있지만 요청한 리소스에 "No 'Access-Control-Allow-Origin'헤더가 있습니다. Origin 'http://localhost:2206'은 (는) 액세스 할 수 없습니다. "코드 흐름은 getMediaLoops 각도 호출에서 응답 및 오류 블록을 건너 뜁니다.
또한 위의 오류에 대해 다음 코드를 Global.asax 파일에 추가했습니다. 위의 오류를 얻을, 어떤 도움 서비스의 web.config에 다음과 같은 구성을 추가
protected void Application_BeginRequest(object sender, EventArgs e)
{
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "http://localhost");
if (HttpContext.Current.Request.HttpMethod == "OPTIONS")
{
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "POST, PUT, DELETE");
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type, Accept");
HttpContext.Current.Response.AddHeader("Access-Control-Max-Age", "1728000");
HttpContext.Current.Response.End();
}
}
감사합니다. –