ArcGIS JS默认你的Web服务器支持CORS了!!!!

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/smss007/article/details/85319188
 其实这个更新已经不算新了,现在ArcGIS API for JavaScript 已经推出4.10版本了。真的好快,快学不动了。

在这里插入图片描述
 但是我觉着这个变化还是有必要说一下滴~。ArcGIS API for JavaScript 一直支持CORS,如果你的Web服务器支持CORS的话,那就不需要代理来执行跨域请求。

 另外如果你一直使用的代理的话,那这篇文章你就看看得了,它对你原来的应用程序没有多大影响。

一、CORS和WebGL

ArcGIS JS 现在已经使用WebGL了,它和SVG渲染的方式有所不同。当加载图像(例如PictureMarkerSymbol使用的图像)时,SVG只是在DOM中添加图像,而在WebGL的canvas上绘图则需要访问原始图像数据。因此就需要满足以下要求: (1)与应用程序位于同一域中, (2)托管在支持CORS的服务器上 (3)必须使用代理。

二、4.9以前的处理方式

  • 通过corsEnabledServers列表, 以指示是否为给定服务器设置了CORS;

在这里插入图片描述

在这里插入图片描述

  • 如果服务器不支持CORS,则可以配置代理规则;
  • 当不知道服务器支持CORS并且请求是JSON的GET请求时,JSONP被用作解决方法。

三、4.9处理CORS的变化

API默认你的Web服务器是支持CORS的。
  • 如果代码中使用了代理,那么还是通过代理,没有影响。
  • 如果你的Web服务器不支持的话,就需要解决跨域访问问题了。tomcat的IIS的方式网上都有,大家可以去搜一下。

    如有需求,可以留言,抽空抽空抽空我就整理一下-。-

    在这里插入图片描述

四、补充

  • 如果以前使用类似以下API,可以给删了,它们已经没有用了;

  esri/config.request

   corsDetection

   corsDetectionTimeout

   corsEnabledServers*

    forceProxy

   useCors
  esri/request
   allowImageDataAccess option

  • 4.9还删除了对JSONP的支持,这将简化webpack构建。
    在这里插入图片描述

更多GIS知识请关注微信公众号:GIS小镇。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/smss007/article/details/85319188