0引言
当我们使用ArcGIS JS API进行部分操作时:比如get请求的参数过长;需要进行后台权限验证;又如需要加载wms服务等会产生跨域问题的方法时。这时候,我们必须使用proxy代理进行访问。在API里设置如下:
esri.config.defaults.io.proxyUrl="proxy地址";
ArcGIS官方给出了.net,jsp,php版本的proxy文件,需要创建各自的服务,便能使用了。比如.net需要在IIS 中进行部署,jsp版本则需要在Tomcat中进行部署。然而我需要的版本是部署在node服务器的版本,官方并未给出相对应的文件,于是写了如下脚本。
1.编写脚本proxy.js
首先需要在Node中安装 fs,restler。
var request = require('request');
var fs = require('fs');
var restler = require('restler');
exports.proxyRequest = function() {
return function(req, res, next) {
try{
var url;
if (req.url.indexOf('?') > -1) {
url = req.url.substr(2);
} else {
return next();
}
var r;
var requestParams = null;
var _headers = {
authorizatio