用angular发起http.get(),访问后端web API要数据,结果chrome报错:跨域了

Access to XMLHttpRequest at 'http://127.0.0.1:3000/XXX' 
from origin 'http://127.0.0.1:4200' has been blocked by CORS policy:
No 'Access-Control-Allow-Origin' header is present on the requested resource.

此时后端nodejs显示返回值正常。只是浏览器给拦截了。

参考https://www.cnblogs.com/relucent/p/4274158.html

什么是跨域

当两个域具有相同的协议(如http), 相同的端口(如80),相同的host(如www.google.com),那么我们就可以认为它们是相同的域(协议,域名,端口都必须相同)。

跨域就指着协议,域名,端口不一致,出于安全考虑,跨域的资源之间是无法交互的

解决方法很简单,在服务器端的response里添加header,允许前端指定的主机访问

具体到express 参考 https://www.cnblogs.com/ae6623/p/4433143.html

app.route("/XXX")
  .get(jsonParser, (req, res) => {
    //do something
    const content = 'OK'
    res.set({'Access-Control-Allow-Origin': 'http://127.0.0.1:4200'})
      .send(content)
  })

注意要包括 http://,和端口号,最好把这些写在一个配置文件里,在nodejs启动时加载进来,便于在docker等容器里用的时候修改前端的IP和端口

最新文章

  1. 1、开篇:PMO定义 - PMO项目管理办公室
  2. Ruby Web实时消息后台服务器推送技术---GoEasy
  3. hibernate mysql写入中文乱码 解决
  4. thinking in java 之Reference类的使用
  5. 网件无线网卡在windows 2012支持问题
  6. 自绘按钮,添加Color属性(转载)
  7. org.springframework.dao.InvalidDataAccessApiUsageException:The given object has a null identifi的解决方案
  8. mootools和jquery冲突的解决
  9. 通用安全字符串输入,彻底替换server.htmlencode
  10. linux脚本之简单实例
  11. 【Android Demo】通过WebService获取今日天气情况--转
  12. Struts2不配置result参数 进行跳转实现
  13. python基础操作_集合_三元运算
  14. 201521123080《Java程序设计》第2周学习总结
  15. (四):C++分布式实时应用框架——状态中心模块
  16. MIP技术进展月报第3期:MIP小姐姐听说,你想改改MIP官网?
  17. Thread类和Runnable接口实现多线程--2019-4-18
  18. Google - Largest Sum Submatrix
  19. 学习完HTML后的5大测试题----9.18
  20. 使用CefSharp在.Net程序中嵌入Chrome浏览器(三)——基本操作

热门文章

  1. 线段树合并 || 树状数组 || 离散化 || BZOJ 4756: [Usaco2017 Jan]Promotion Counting || Luogu P3605 [USACO17JAN]Promotion Counting晋升者计数
  2. Robot Framework自动化测试Selenium2Library库详细用法
  3. 范进中Nature——儒林外史新义
  4. [daily][python2] int型IP地址与string型IP地址互转
  5. 目标检测(六)YOLOv2__YOLO9000: Better, Faster, Stronger
  6. Jenkins+Jmeter持续集成笔记(二:ANT执行Jmeter脚本)
  7. 手写RPC框架
  8. FastDFS的单点部署
  9. 【Algorithm】-NO.140.Algorithm.1.Algorithm.1.001-【空间复杂度 时间复杂度 o(1), o(n), o(logn), o(nlogn)】-
  10. 实验隐藏参数"_allow_resetlogs_corruption"的使用