How can I add CORS-Headers to a static connect server?

前端 未结 4 824
庸人自扰
庸人自扰 2020-12-03 17:15

I am writing a little demo web server delivering static html,css and javascript. The server looks like

(function () {
    \"use strict\";

    var http = req         


        
4条回答
  •  感情败类
    2020-12-03 17:30

    Had a bit of trouble figuring this one out since express has spoiled me.

    Take a look at enable cors. Basically what you need to be doing is add Access-Control-Allow-Origin to the domain you want to enable cors on. response.setHeaders is perfect for this task.

    Another thing to note is that connect has no way to handle routes. If your app needs to have different routes then you will probably have to write logic for each of them and add res headers to the ones on which you want to enable cors. You can use req.url for it.

    var http = require("http");
    var connect = require('connect');
    
    var app = connect()
    
        .use(connect.logger('dev'))
    
        .use(connect.static('home'))
    
        .use(function(req, res){
    
        res.setHeader("Access-Control-Allow-Origin", "http://example.com");
        res.end('hello world\n');
    
     });
    
    var server = http.createServer(app);
    
    server.listen(9999, function () {
    
        console.log('server is listening');
    });
    

    This is the response I got in chrome dev tools

    HTTP/1.1 200 OK
    Access-Control-Allow-Origin: http://example.com
    Date: Sat, 15 Jun 2013 16:01:59 GMT
    Connection: keep-alive
    Transfer-Encoding: chunked
    

提交回复
热议问题