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

0
分享 2019-01-23
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/smss007/ ... 19188  其实这个更新已经不算新了,现在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构建。



文章来源:https://blog.csdn.net/smss007/article/details/85319188

0 个评论

要回复文章请先登录注册