62,046
社区成员
发帖
与我相关
我的任务
分享
protected void Application_BeginRequest(object sender, EventArgs e)
{
//origin头主要是跨域相关
//作为HTTP请求方法之一的OPTIONS请求方法的主要用途有两个:
// 1、获取服务器支持的HTTP请求方法;也是黑客经常使用的方法。
// 2、用来检查服务器的性能。例如:AJAX进行跨域请求时的预检,需要向另外一个域名的资源发送一个HTTP OPTIONS请求头,用以判断实际发送的请求是否安全
if (Request.Headers.AllKeys.Contains("Origin")&&Request.HttpMethod=="OPTIONS")
{
Response.Flush();//缓存完毕后发送到客户端
}
}
<httpProtocol>
<!--跨域配置开始-->
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<!--支持全域名访问,不安全,部署后需要固定限制为客户端网址-->
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
<!--支持的http 动作-->
<add name="Access-Control-Allow-Headers" value="Authorization,Content-Type,X-Requested-With" />
<!--<add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept" />-->
<!--<add name="Access-Control-Allow-Headers" value="Content-Type,X-Requested-With,token" />-->
<!--响应头 请按照自己需求添加 这里新加了token这个headers-->
<add name="Access-Control-Request-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
<!--允许请求的http 动作-->
</customHeaders>
<!--跨域配置结束-->
</httpProtocol>
<Html>
<head>
<script src="Scripts/jquery-1.10.2.js"></script>
--基于get传递多个参数--
<script>
$(function () {
$.ajax({
type: "get",
url: "http://localhost:51647/api/GetParms",
data: { id: 1, name: "Jim", bir: "1988-09-11" },
beforeSend: function (XHR) {
debugger
var token = '9463B95C74FB79E56AA8E999658671AF287442894F30957C082EDF66DC6BE04E9EA16B776E50451980577B34543CB25E76022CDACADA75A43CBC6A1D9B83DC3155820';
XHR.setRequestHeader("Authorization", "Token " + token);
},
success: function (data, status) {
debugger
if (status == "success") {
alert(data);
}
}
});
}
)
</script>
</head>
</Html>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="*" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE" />
</customHeaders>
</httpProtocol>
这种我是验证过可以的