欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

.net訪問geoserver發(fā)布的wms 跨域問題解決方案

環(huán)境:  服務器  geoserver2.4.1  

創(chuàng)新互聯專注于友好網站建設服務及定制,我們擁有豐富的企業(yè)做網站經驗。 熱誠為您提供友好營銷型網站建設,友好網站制作、友好網頁設計、友好網站官網定制、小程序定制開發(fā)服務,打造友好網絡公司原創(chuàng)品牌,更為您提供友好網站排名全網營銷落地服務。

開發(fā)機訪問服務器發(fā)布的wms 存在跨域問題,研究兩天終于找到解決方案。

主要思路是: 使用jquery的ajax 代替Groserver的request, 然后將wms的請求地址轉發(fā)到.net的處理程序, 使用.net的處理程序進行跨域處理。

 function mouseClick(e) {
            var layer = new Array();
            layer = map.getLayersByName("Simple_Geometry");
            if (layer != null)
                for (var i = 0; i < layer.length; i++) {
                    map.removeLayer(layer[i]);
                }
                
            var wms_url = "http://10.72.4.219:8089/geoserver/xj/wms?";
            var params =
                     {
                         REQUEST: "GetFeatureInfo",
                         BBOX: map.getExtent().toBBOX(),
                         WIDTH: map.size.w,
                         HEIGHT: map.size.h,
                         X: e.xy.x,
                         Y: e.xy.y,
                         SERVICE: "WMS",
                         QUERY_LAYERS: map.layers[0].params.LAYERS,
                         INFO_FORMAT: 'text/html',
                         FEATURE_COUNT: 50,
                         Layers: 'xj:cswl_group',
                         Styles: "",
                         format: "application/vnd.ogc.gml",
                         EXCEPTIONS: "application/vnd.ogc.se_xml",                    // Exception 類型
                         srs: 'EPSG:4326'

                     };
                     var domainUrl = "crossDomain.ashx?URL=";
                     var request = parpreUrl(wms_url, params);
                     request = encodeURIComponent(encodeURIComponent(request));

                     $.post(domainUrl + request, "", function (e) {
                         document.getElementById('nodelist').innerHTML = e;
                     });
                    
            OpenLayers.Event.stop(e);
        }

        function parpreUrl(url, paramsObj) {
            for (var k in paramsObj) {
                url += (k + "=" + paramsObj[k] + "&");
                
            }
            return url;
        }

如果使用Groserver.ProxyHost , 會遇到 triggerEvent未定義問題,所以使用了jqueyr的ajax代替 Geoserver.Request ,另外

 public void Proce***equest(HttpContext context)
        {
            context.Response.ContentType = "text/html";
            string url = "";
            url = context.Request.QueryString["URL"].ToString();
            url = context.Server.UrlDecode(url);
            HttpWebRequest loHttp = (HttpWebRequest)WebRequest.Create(url);
            loHttp.Timeout = 10000;     // 10 secs
            loHttp.UserAgent = "Web Client";
            HttpWebResponse loWebResponse = (HttpWebResponse)loHttp.GetResponse();
            Encoding enc = Encoding.GetEncoding(65001);
            StreamReader loResponseStream = new StreamReader(loWebResponse.GetResponseStream(), enc);
            string lcHtml = loResponseStream.ReadToEnd();
            context.Response.Write(lcHtml);
            loWebResponse.Close();
            loResponseStream.Close();
        }

這樣就可以解決 跨域問題

名稱欄目:.net訪問geoserver發(fā)布的wms 跨域問題解決方案
本文路徑:http://chinadenli.net/article32/gpissc.html

成都網站建設公司_創(chuàng)新互聯,為您提供服務器托管網站排名網站設計公司全網營銷推廣網站維護微信小程序

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

成都網站建設