【问题标题】:openlayers ProxyHost just work on internet exploreropenlayers ProxyHost 只在 Internet Explorer 上工作
【发布时间】:2013-12-14 18:03:28
【问题描述】:
我有一些问题。我使用 openlayers 从带有 wms 的地理服务器获取数据。当我运行地图并选择功能时,它的工作但是当我在谷歌浏览器上工作时。它不起作用,它给了我这个错误:加载资源失败:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,Origin 'null' 不允许访问。
这是我的代码:
OpenLayers.ProxyHost = "http://*:8080/geoexplorer/proxy/?url=";
【问题讨论】:
标签:
jquery-mobile
openlayers
【解决方案1】:
它现在正在工作。
namespace KaskiGIS
{
public class Proxy : System.Web.IHttpHandler
{
public void ProcessRequest(System.Web.HttpContext context)
{
var request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(context.Request["url"]);
request.Method = context.Request.HttpMethod;
if (request.Method == "POST")
{
var content = new System.Text.UTF8Encoding().GetBytes(new System.IO.StreamReader(context.Request.InputStream).ReadToEnd());
request.ContentLength = content.Length;
using (var stream = request.GetRequestStream())
{
stream.Write(content, 0, content.Length);
stream.Close();
}
}
var response = request.GetResponse().GetResponseStream();
if (response == null) return;
context.Response.Write(new System.IO.StreamReader(response).ReadToEnd());
}
public bool IsReusable { get { return false; } }
}
}