请求的时候报了这个错,试了好几次都不可以:
页面代码:
页面上有设置请求的方式,web.config里面也有设置:
是你请求的服务器设置响应头,你自己网站设置没毛用。搞清楚方向
看下API接收用OBJ来接收
https://www.cnblogs.com/SilenceTom/p/6697484.html 可以参考一下这个
c#方法头 加多个[HttpOptions]
[HttpPost]
[HttpOptions]
public HttpResponseMessage Submit(param p)
当浏览器控制台报不允许跨域时
重写ActionFilterAttribute
请求响应的头部
public class Filter : ActionFilterAttribute
public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
{
IEnumerable<string> outvalues;
if (actionExecutedContext.Request.Headers.TryGetValues("Origin", out outvalues))
{
actionExecutedContext.Response.Headers.Add("Access-Control-Allow-Origin", string.Join(",", outvalues.ToArray()));
actionExecutedContext.Response.Headers.Add("Access-Control-Allow-Credentials", "true"); //是否支持cookie跨域
actionExecutedContext.Response.Headers.Add("Access-Control-Allow-Headers", "token");//自定义Headers参数,多个参数使用英文逗号分开"," token,key
}
base.OnActionExecuted(actionExecutedContext);
}
看看$.get();可以不;或者用下jsonp
找你们后台,让他那边处理下
后台允许跨站访问,配置请求头信息:Access-Control-Allow-Origin: 允许跨域访问的域,可以是一个域的列表,也可以是通配符”*”;
Access-Control-Allow-Methods: 允许使用的请求方法,以逗号隔开;
Access-Control-Allow-Headers: 允许自定义的头部,以逗号隔开,大小写不敏感;
Access-Control-Expose-Headers: 允许脚本访问的返回头,请求成功后,脚本可以在XMLHttpRequest中访问这些头的信息
Access-Control-Allow-Credentials: 是否允许请求带有验证信息,XMLHttpRequest请求的withCredentials标志设置为true时,认证通过,浏览器才将数据给脚本程序。