JavaScript – 与Zscaler的Ajax问题

前端之家收集整理的这篇文章主要介绍了JavaScript – 与Zscaler的Ajax问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的页面中,我有这个ajax调用
$.getJSON("@Url.Action("GetSchedulers")",{ start: start,end: end },function(data) {
            fillCalendar(data);
        });

一切都可以正常工作,除非我尝试在Zscaler代理之后访问它,否则浏览器会返回一个可疑错误“请求的资源上存在”Access-Control-Allow-Origin“头”,而Request url是“https://gateway.zscaler.net/auD?origurl= {} my_url”

有没有人知道如何执行请求,而不是被zscaler过滤?

解决方法

您需要在ASP.NET网站中启用 CORS,并允许https://gateway.zscaler.net域.当页面中的资源(例如AJAX请求)到与用于提供页面用户不同的域时,需要CORS.根据 RFC 6454,方案(http vs https),地址和端口必须匹配.

假设您有一个服务GetSchedulers请求的ASP.NET Web API项目,请按照@L_403_3@:

>添加Microsoft.AspNet.WebApi.Cors nuGet包
>添加config.EnableCors();到void Register(HttpConfiguration config)方法
>将此属性添加到控制器中:[EnableCors(originCors(originins:origin https://gateway.zscaler.net“,标题:”*“,方法:”*“)]

如果您使用不同的服务器端实现,则说明将略有不同.例如,如果您正在使用OWIN,请使用Microsoft.Owin.Cors nuGet软件包.

猜你在找的Ajax相关文章