ArcGIS API for JavaScript默认方式HTTP请求是GET方式, 而不是Post方式。
当HTTP为长URL请求时,GET将无法使用,而必须采用Post的方式。Esri默认的http请求方式是GET。对于这种应用,如:以缓冲后的几何为参数的QueryTask,此情况下就需要使用POST的Proxy来处理这种情况。
具体Proxy Page的使用可以参考:
在proxy.config文件中的<serverUrls></serverUrls>中加入新的<serverUrl></serverUrl>其中的url是你自己发布的网站地址
代码如下:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 <ProxyConfig mustMatch="true"> 2 <serverUrls> 3 <!--........--> 4 <!--就这行是我加上去的是使得这个proxy代理在本地可用的关键语句,特别是matchAll="true",之前就卡在这里,这是我的使用例子,大家可以借鉴,有错的或者不同的可以指出--> 5 <serverUrl url="http://服务发布的IP/ArcGIS/rest/services" 6 matchAll="true" > 7 </serverUrl> 8 </serverUrls> 9 10 </ProxyConfig>
在arcgis api for arcgis页面中的js文件中在function init()函数中加入如下代码:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 esri.config.defaults.io.proxyUrl = "proxy.ashx"; 2 esri.config.defaults.io.alwaysUseProxy = false;