我花了一整天在我的API中修復這個問題。
這裏是我做了覆蓋期權方法的API
你必須設置這個在您的web.cnofig內system.webservers
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*"/>
<add name="Access-Control-Allow-Headers" value="Accept, Authorization, Data, Content-Type" />
<add name="Access-Control-Allow-Methods" value="GET,POST,OPTIONS" />
</customHeaders>
</httpProtocol>
然後在你的WebApiConfig.cs把這個代碼
public class OptionsHttpMessageHandler : DelegatingHandler
{
protected override Task<HttpResponseMessage> SendAsync(
HttpRequestMessage request, CancellationToken cancellationToken)
{
if (request.Method == HttpMethod.Options)
{
return Task.Factory.StartNew(() =>
{
var resp = new HttpResponseMessage(HttpStatusCode.OK);
return resp;
});
}
return base.SendAsync(request, cancellationToken);
}
}
並註冊與該行的註冊功能在同WebApiConfig.cs
GlobalConfiguration.Configuration.MessageHandlers.Add(new OptionsHttpMessageHandler());
從早上開始,最後這解決了我的問題,我幾乎要在這之前有api-2 ..非常感謝 –