slevinkelevra Δημοσ. 29 Σεπτεμβρίου 2015 Δημοσ. 29 Σεπτεμβρίου 2015 Καλησπερα Εχω λοιπον για web server τον node.js 0.10.12 με express.js 4.8.5. - localhost:5550 Openlayers 3.9.0 για τον χαρτη στο front-end Geoserver 2.1.3 για web map server - localhost:8080/geoserver Οριζω layer στο openlayers var ait = new ol.layer.Tile({ extent: textent, source: new ol.source.TileWMS({ url: 'http://localhost:8080/geoserver/mymap/wms', crossOrigin: 'anonymous', attributions: [new ol.Attribution({ html: '© ' +'<a href="http://www.geo.admin.ch/internet/geoportal/' +'en/home.html">' +'National parks / geo.admin.ch</a>' })], params: {'LAYERS': 'mymap:planet_osm_polygon, mymap:planet_osm_line, mymap:planet_osm_roads, mymap:planet_osm_point'}, serverType: 'geoserver' }) }) και παω μετα να ορισω middleware για express.js μεσα στο app.js στον node, για να μη πεταει λαθος "No 'Access-Control-Allow-Origin' header" οπότε εχω μονο μια σελιδα στο node, οριζω το route της σε ξεχωριστο αρχειο, because why not var routes = require('./routes/index'); το index.js περιεχει το route var express = require('express'); var router = express.Router(); router.get('/', function(req, res, next) { res.render('index', { title: 'openlayers3 testing', head: 'Welcome' }); next(); }); module.exports = router; οποτε ολο το app.js ειναι var routes = require('./routes/index');//εξηγησα πιο πανω var app = express(); // view engine setup app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'ejs'); app.use(favicon()); app.use(logger('dev')); app.use(bodyParser.json()); app.use(bodyParser.urlencoded()); app.use(cookieParser()); app.use(express.static(path.join(__dirname, 'public'))); και προσθεσα και CORS handling app.use(function (req, res, next) { res.setHeader('Access-Control-Allow-Origin', '*'); res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE'); res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type'); res.setHeader('Access-Control-Allow-Credentials', true); next(); }); app.get('/', routes); και παρολα αυτα συνεχιζω και βλεπω το ρημαδι το λαθος Image from origin 'http://localhost:8080' has been blocked from loading by Cross-Origin Resource Sharing policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:5550' is therefore not allowed access. Δε ξερω τι μπορει να φταιει κ πως να κανω debug. Βοηθηστε please Ευχαριστω
mad-proffessor Δημοσ. 29 Σεπτεμβρίου 2015 Δημοσ. 29 Σεπτεμβρίου 2015 Firebug και live http header(add-on) για debug στο firefox. Σου λέει ότι δε στέλνει καθόλου το header άλλωστε.
slevinkelevra Δημοσ. 29 Σεπτεμβρίου 2015 Μέλος Δημοσ. 29 Σεπτεμβρίου 2015 Ναι μου λεει οτι δε στελνει απο τον geoserver λογω της CORS policy. Tεσπα, οπως και να χει, δε καταλαβα τι ακριβως προτεινεις Also σε internet explorer 11 δουλευει κανονικα (!) χωρις λαθη και βλεπω το layer σε firefox 30 δε δινει λαθη, αλλα δε βλεπω το layer σε chrome 45 βγαζει το λαθος και δε βλεπω layer ελα ρε φιλε, δε τα μπορω αυτα, για ονομα
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα