首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用restify时如何支持cors

使用restify时如何支持cors
EN

Stack Overflow用户
提问于 2013-01-15 21:21:02
回答 14查看 35.9K关注 0票数 47

我有一个用restify模块创建的REST api,我想要允许跨域资源共享。做这件事最好的方法是什么?

EN

回答 14

Stack Overflow用户

回答已采纳

发布于 2013-01-25 01:09:41

您必须设置服务器才能设置跨域头部。不确定是否有内置的use函数,所以我写了自己的函数。

代码语言:javascript
复制
server.use(
  function crossOrigin(req,res,next){
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "X-Requested-With");
    return next();
  }
);

我在这篇教程中找到了这个。http://backbonetutorials.com/nodejs-restify-mongodb-mongoose/

票数 66
EN

Stack Overflow用户

发布于 2013-03-06 10:49:57

最新版本的Restify提供了a plugin to handle CORS

所以你现在可以像这样使用它:

代码语言:javascript
复制
server.use(restify.CORS({

  // Defaults to ['*'].
  origins: ['https://foo.com', 'http://bar.com', 'http://baz.com:8081'], 

  // Defaults to false.
  credentials: true,

  // Sets expose-headers.
  headers: ['x-foo']   

}));
票数 63
EN

Stack Overflow用户

发布于 2014-10-08 16:59:48

这对我来说很有效:

代码语言:javascript
复制
var restify = require('restify');

var server = restify.createServer();

server.use(restify.CORS());

server.opts(/.*/, function (req,res,next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Methods", req.header("Access-Control-Request-Method"));
    res.header("Access-Control-Allow-Headers", req.header("Access-Control-Request-Headers"));
    res.send(200);
    return next();
});

server.get('/test', function (req,res,next) {

    res.send({
        status: "ok"
    });
    return next();
});

server.listen(3000, function () {
    console.log('%s listening at %s', server.name, server.url);
});
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14338683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档