目前,我的WebAPI控制器做到這一點:從WebAPI控制器重定向到子域 - 需要CORS嗎?
var newUrl = _adminService.Foo(bar);
return Request.CreateResponse(HttpStatusCode.OK, newUrl);
所以客戶端收到一個字符串,然後設置window.location
用JavaScript。
這似乎是一個很好的方式來通過WebAPI重定向。我發現這個職位:
Redirect from asp.net web api post action
我已經實現:
var newUrl = _adminService.Foo(bar);
var response = Request.CreateResponse(HttpStatusCode.Moved);
response.Headers.Location = new Uri(newUrl);
return response;
但現在我得到的鍍鉻以下錯誤(從本地主機導航到子域時):
XMLHttpRequest cannot load http://test.localhost:3806/. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3806' is therefore not allowed access.
我需要爲此配置CORS嗎?
爲什麼你會希望有一個服務(的WebAPI)強制客戶端做什麼? – Maess
@Mess用戶通過webAPI POST,然後重定向。與MVC控制器相同。 – RobVious
爲什麼不使用MVC控制器? – Maess