我们知道有些场景让我们不得不跨域请求对方的http api .  我们知道ajax不仅仅能访问同域的资源,也是可以跨域请求的,也就是jsonp请求.  

我这边申请一点,本人其实不怎么喜欢使用jsonp,因为对端http api会因为各种情况会出现异常,这些异常丢给后端去做反而更加的合理。  我一般会丢给后端去转发。


该文章写的有些乱,欢迎来喷 ! 另外文章后续不断更新中,请到原文地址查看更新。

http://xiaorui.cc/2016/02/29/%E8%A7%A3%E5%86%B3ajax-jsonp%E8%B7%A8%E5%9F%9F%E8%AF%B7%E6%B1%82%E6%97%B6cookie%E7%9A%84%E9%97%AE%E9%A2%98/

咱们继续说跨域的事情。  jsonp虽然是可以访问外域,但是请求默认不发送cookie信息,如果需要cookie,需要手动指定。

标准的CORS请求不对cookies做任何事情,既不发送也不改变。如果希望改变这一情况,就需要将withCredentials设置为true。


这单单客户端的配置是不行的,服务端在处理这一请求时,也需要将Access-Control-Allow-Credentials设置为true。 

为什么服务端也需要?

如果没有返回Access-Control-Allow-Credentials: true的响应头,那么浏览器将不会把响应结果传递给发出请求的脚步程序,以保证信息的安全。

下面是Jquery ajax携带cookie跨域请求的例子.

Jquery的Ajax请求,设置跨域附带详细参数

我们需要服务端支持相应的header


下面是详细的response头部信息.



对Python及运维开发感兴趣的朋友可以加QQ群 : 478476595 !!!
{ 2000人qq大群内有各厂大牛,常组织线上分享及沙龙,对高性能及分布式场景感兴趣同学欢迎加入该QQ群 }

另外如果大家觉得文章对你有些作用!   帮忙点击广告. 一来能刺激我写博客的欲望,二来好维护云主机的费用.
如果想赏钱,可以用微信扫描下面的二维码. 另外再次标注博客原地址  xiaorui.cc  ……   感谢!
暂无相关产品