Open ismail44 opened 8 years ago
Remembering that if you can manage the server side, you can configure CORS there ;)
Sadly, I don't manage the server side. We allow users to add layers from any number of WFS providers... as long as they know the URL they can pick from a list of features and add them to the map.
On Thu, Feb 25, 2016 at 3:29 PM, César Augusto notifications@github.com wrote:
Remembering that if you can manage the server side, you can configure CORS there ;)
— Reply to this email directly or view it on GitHub https://github.com/Flexberry/Leaflet-WFST/issues/25#issuecomment-188968234 .
I did not think about that. This will be a good feature.
I've kind of implemented it in my own code... all my urls look like this:
/mapProxy/?url={path to WFS SERVER}
And I have Apache doing the magic on my web server, and it works well, except when the WFS object tries to make the call for DescribeFeatureType and GetFeature it calls a utility method provided by Leaflet to build query string parameters and it sees the "?" in proxy url and doesn't append another "?" to the end of the URL for the WFS server.
I have another band-aid for that, but I am sure there's a better way.
Thanks for thinking about this.
On Fri, Feb 26, 2016 at 10:13 AM, kuzkok notifications@github.com wrote:
I did not think about that. This will be a good feature.
— Reply to this email directly or view it on GitHub https://github.com/Flexberry/Leaflet-WFST/issues/25#issuecomment-189318093 .
посоветовали плагин https://addons.mozilla.org/ru/firefox/addon/cors-everywhere/ для обхода CORS проверил в firebug- координаты в POST сервер отдает (страница и скрипты на локальном компьютере),ошибок нет, а слой не отображается (crs.epsg3857),правда пришлось в 892 строке убрать двоеточие return this.options.typeNS + '' + name; иначе координаты не приходят возможно ли такое решение и в чем проблема?
@gornak49 что возвращал сервер (полный ответ) до того, как убрал двоеточие?
так выглядит с двоеточием(плагин CORSE включен)-DescribeFeatureType-дает ответ,а GetFeature - нет ,а так без но на карте слой не отображается
@gornak49 я так полагаю, что в названии слоя есть двоеточие. получается, что в коде вставляется двоеточие и в названии слоя двоеточие и того два двоеточия, и поэтому сервер выбрасывает ошибку "Can't find layer ':kvly' ". чтобы это проверить нужно посмотреть какие параметры переданы.
что касается не отображения слоя и отсутствие ошибок, то нужно пошагово смотреть, как происходит отрисовка.
в названии слоя двоеточий нет, вот скрин запросов
и часть скрипта (переданных параметров??)
var boundaries = new L.WFS({ url: "http://vvlph.nextgis.com/api/resource/6/wfs", typeNS: '', typeName: 'kvly', crs: L.CRS.EPSG3857, geometryField: 'geom', style: { color: 'blue', weight: 2 } }).addTo(map);
,причем я проверял вручную простым POST-запросом, результат такой же:DescribeFeatureType-не реагирует на двоеточие,а GetFeature- в случае двоеточия дает ошибку
как пошагово смотреть отрисовку??
@gornak49 ошибка в том, что параметр typeNS пустой. нужно указывать рабочее пространство и слой. typeNS это рабочее пространство, а typeName это слой.
чтобы посмотреть отрисовку поставь breakpoint на строчку, где запрос получает ответ и пошагово смотри как он данные конвертнёт в сущности и затем их отрисует
Has there been any thought or discussion as to creating some sort of "proxy" setting to get around CORS? I know that OpenLayers has this feature, I was just wondering if it's been discussed here.
Thanks.