939692178
新手
新手
  • 最后登录2018-05-27
  • 发帖数2
阅读:8971回复:1

[nodejs]node搭建后台cors跨域配置请求头问题

楼主#
更多 发布于:2018-05-13 17:30
使用node搭建后台时,使用cors跨域,之前在app.js的配置是:
myapp.all('*', function (req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "X-Requested-With");
    res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
    res.header("X-Powered-By", ' 3.2.1')
    res.header("Content-Type", "application/json;charset=utf-8");
    next();
});
之后在开发中,会出现post请求跨域失败,报错是403,服务器拒绝访问。。。。。但get请求没问题
最后更改了cors跨域的配置代码:
myapp.all('*', function(req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "X-Requested-With,X_Requested_With,Content-Type");
    res.header("Content-Type", "application/json;charset=utf-8");
    next();
});
就好了!
请教了一位后台开发人员,他说是之前的配置没有兼容全,使用兼容全的代码即可


还有:
因为img的src属性默认get跨域,所以如果要显示其他服务图片,可直接写请求的网络路径,被请求的服务一般会设置静态资源路径:比如node
myapp.use(myexpress.static(__dirname + "/public")); //静态文件的路径配置
myapp.use('/public/images',myexpress.static("public/images")); //其他服务器请求静态文件的路径配置
第一句是同源策略下访问静态路径,而第二个就是其他服务访问的静态路径配置,这两个是不一样的

最新喜欢:

gk123456gk1234...
doubleyong
管理员
管理员
  • 最后登录2025-12-02
  • 发帖数1198
  • 最爱沙发
  • 喜欢达人
  • 原创写手
  • 社区居民
  • 忠实会员
沙发#
发布于:2018-05-14 09:36
谢谢楼主分享,非常赞的一篇好文
知识需要管理,知识需要分享
游客


返回顶部

公众号

公众号