- 這取決於它在C#中怎麼做,如果它會拋出異常,並響應代碼不會是200則是你會在jQuery的阿賈克斯有錯誤,可以爲錯誤添加事件,如果C#亙古不變拋出異常那麼它將成爲jQuery的成功事件,但可能你會得到不同的狀態響應json。既然你有完全的控制權,那麼你可以做你想做的事。
不過,如果你有控制,你可以做以下
公共類AllowCrossSiteAttribute:ActionFilterAttribute {
public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
{
if (actionExecutedContext.Response != null)
actionExecutedContext.Response.Headers.Add("Access-Control-Allow-Origin", "*");
base.OnActionExecuted(actionExecutedContext);
}
}
}
一下添加到您的代碼(請不,在這裏你允許所有的域名,但你可以用你的域名列表替換「*」),然後在web api控制器上添加這個屬性
或者使用網絡配置
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type, Authorization" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
</customHeaders>
</httpProtocol>
</system.webServer>
我必須支持IE8,因此CORS不是一種選擇。對不起,我在問答中沒有說清楚,但我認爲你的第一個答案解決了我的一些問題 – jasonscript