Mehr

Fordern Sie JSONP vom Geoserver mit AJAX-Anfrage in Openlayers 3 an


Ich erstelle eine Webanwendung mit OpenLayers 3 und möchte meine Vektorebenen darin importieren. Ich habe derzeit meine Daten in Geoserver und versuche, den folgenden Code zu verwenden, aber wenn ich die folgende Anfrage mit jQuery stelle:

var vectorLoader = Funktion(Ausdehnung, Auflösung, Projektion) { var url = 'http://XXX185:8080/geoserver/wfs?service=WFS&' + 'version=1.1.0&request=GetFeature&typename=YYY:QGIS&' + 'outputFormat= text/javascript&format_options=callback:loadFeatures' + '&srsname=EPSG:3857&bbox=' + extension.join(',') + ',EPSG:3857'; $.ajax({ url: url, dataType: 'jsonp' }); }; var loadFeatures = function (Antwort) { var features = vectorSource.readFeatures (Antwort); vectorSource.addFeatures(Features); }; var vectorSource = new ol.source.ServerVector({ format: new ol.format.GeoJSON(), loader: vectorLoader, Strategie: ol.loadingstrategy.createTile(new ol.tilegrid.XYZ({ maxZoom: 19 })) }) ; var serverVector = new ol.layer.Vector({ source: vectorSource, style: vectorStyle });

Ich bekomme diesen Fehler:

Nicht abgefangener SyntaxError: Unerwartetes Token < jquery-latest.min.js:4 Ressource als Skript interpretiert, aber mit MIME-Typ application/xml übertragen: "http://XXXpc185:8080/geoserver/wfs?service=WFS&version=1.1.0&request=GetFea … SG:3857&callback=jQuery111109427054924890399_1428089051875&_=1428089051876".

Ich kann mir vorstellen, dass es etwas damit zu tun hat, wie der vectorLoader das WFS anfordert?


Haben Sie die JSONP-Einstellungen des Geoservers in web.xml aktiviert?

/geoserver/WEB-INF/web.xml

enthält Einstellungen wie diese:

 ENABLE_JSONP wahr

Du solltest dich ändernENABLE_JSONPwiewahr


Schau das Video: GeoServer with leaflet. Application of GeoServer on web-GIS (Oktober 2021).