Dav*_*res 11 javascript c# ajax asp.net-mvc
在我的页面上,我有这个ajax调用:
$.getJSON(
"@Url.Action("GetSchedulers")",
{ start: start, end: end },
function(data) {
fillCalendar(data);
}
);
Run Code Online (Sandbox Code Playgroud)
一切正常,除非我尝试在Zscaler代理后面访问它,然后浏览器返回一个CORS错误:
"No 'Access-Control-Allow-Origin' header is present on the requested resource."
Run Code Online (Sandbox Code Playgroud)
请求网址是https://gateway.zscaler.net/auD?origurl={my_url}.
有没有人知道如何在没有被zscaler过滤的情况下发送请求?
您需要在ASP.NET网站中启用CORS,并允许https://gateway.zscaler.net域.当页面中的资源(例如AJAX请求)与用于提供页面的域不同时,需要CORS.根据RFC 6454,该方案(http vs https),地址和端口必须匹配.
假设您有一个ASP.NET Web API项目为GetSchedulers请求提供服务,请遵循Asp.Net WebAPI说明:
config.EnableCors();到void Register(HttpConfiguration config)方法[EnableCors(origins: "https://gateway.zscaler.net", headers: "*", methods: "*")]如果您使用的是其他服务器端实现,则说明会略有不同.例如,如果您正在使用OWIN,则使用Microsoft.Owin.Cors nuGet包.
| 归档时间: |
|
| 查看次数: |
1461 次 |
| 最近记录: |