今天遇到这样一个问题,A、B两个应用都是通过CAS单点登录的,在A里面发起ajax请求到B,存在跨域的问题,我开始试着设置Access-Control-Allow-Origin请求头,结果发现这样设置对于一般的跨域请求是可以的,但是因为有CAS,请求到B的时候会去CAS验证用户登录,会出现重定向,结果请求就回不来了,Origin方式不支持重定向。
于是又试jsonp的方式,具体参考http://www.360doc.com/content/16/0105/15/203871_525666908.shtml,结果发现这种方式可行。只是jsonp对服务端的返回值有要求,但是jsonp可以支持跨域和重定向。如果没有重定向需求的还是推荐使用origin,因为更安全。