webapi踩的坑
2021-04-12 05:27
标签:content 技术分享 需求 pen asa type hid 域名 AC 移步到:https://www.cnblogs.com/landeanfen/p/5337072.html 4.跨域请求需要传自定义头导致请求失败时 跨域请求会先发送一个预处理请求再发送实际请求,预处理请求是OPTIONS类型,所以需要给他特殊处理一下 (1)在Global.asax文件中添加以下方法: (2)在web.config的跨域配置中找到name=“Access-Control-Allow-Headers” ,然后在它的value中加上自己所传的自定义header名,如下图 webapi踩的坑 标签:content 技术分享 需求 pen asa type hid 域名 AC 原文地址:https://www.cnblogs.com/stupid-dong/p/9013429.html1.webapi跨域 需要在web.config的
2.webapi设置默认返回json格式 需要在WebApiConfig文件的Register方法中添加以下代码
GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();
//默认返回 json
GlobalConfiguration.Configuration.Formatters.JsonFormatter.MediaTypeMappings.Add(
new QueryStringMapping("datatype", "json", "application/json"));
// 解决json序列化时的循环引用问题
config.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
3.post请求webapi传参问题
protected void Application_BeginRequest(object sender, EventArgs e)
{
var res = HttpContext.Current.Response;
var req = HttpContext.Current.Request;
//自定义header时进行处理
if (req.HttpMethod == "OPTIONS")
{
res.AppendHeader("Access-Control-Allow-Headers", "Content-Type, X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Date, X-Api-Version, X-File-Name,Token,Cookie");
res.AppendHeader("Access-Control-Allow-Methods", "POST,GET,PUT,PATCH,DELETE,OPTIONS");
res.StatusCode = 200;
res.End();
}
}
上一篇:C# 开发网页的打印版
下一篇:C# 控制台程序 阻塞问题