文章目录

  • 问题概述
  • 解决方案
  • 参考

本博客站点已全量迁移至 DevDengChao 的博客 https://blog.dengchao.fun , 后续的新内容将优先在自建博客站进行发布, 欢迎大家访问.

问题概述

刚刚在 NodeJS 环境下对服务端接口进行 Jest 单元测试时发现 axios 报错, 说是出现了跨域请求.

    Error: Cross origin http://localhost forbiddenat dispatchError (\node_modules\jsdom\lib\jsdom\living\xhr\xhr-utils.js:62:19)at Object.validCORSHeaders (\node_modules\jsdom\lib\jsdom\living\xhr\xhr-utils.js:74:5)at receiveResponse (\node_modules\jsdom\lib\jsdom\living\xhr\XMLHttpRequest-impl.js:797:19)at Request.<anonymous> (\node_modules\jsdom\lib\jsdom\living\xhr\XMLHttpRequest-impl.js:658:36)at Request.emit (events.js:315:20)at Request.onRequestResponse (\node_modules\request\request.js:1059:10)at ClientRequest.emit (events.js:315:20)at HTTPParser.parserOnIncomingClient [as onIncoming] (_http_client.js:641:27)at HTTPParser.parserOnHeadersComplete (_http_common.js:126:17)at Socket.socketOnData (_http_client.js:509:22) undefined

确认服务端没有对 localhost 进行跨域限制, 并且请求也不是从浏览器环境发起的后, 推断是 axios 或者测试环境 Jest 出现了问题.

解决方案

package.json 文件的 jest 块中加入 testEnvironment 配置项, 并将其指定为 node 即可.

package.json:

{// ..."jest":{"testEnvironment": "node"}
}

参考

  • Jest 配置项: testEnvironment:

    testEnvironment
    Default: “jsdom”
    The test environment that will be used for testing. The default environment in Jest is a browser-like environment through jsdom. If you are building a node service, you can use the node option to use a node-like environment instead.

  • Error: Cross origin http://localhost forbidden

[NodeJS] Jest 环境下 Axios 请求报错: Cross origin http://localhost forbidden相关推荐

  1. Linux服务器docker环境下Jasper Report报错

    Linux服务器docker环境下Jasper Report报错 Jasperreports模板制作方法在网上都有很多教程,可以自行探索一下 我用的模板参考:https://blog.csdn.net ...

  2. x64环境下_findnext()函数报错——0xC0000005: 写入位置 0xFFFFFFFFDF47C5A0 时发生访问冲突

    最近在搞单目相机位姿估计,相机标定参考了[OpenCV3学习笔记 ]相机标定函数 calibrateCamera( ) 使用详解(附相机标定程序和数据)提供的代码. /* @param File_Di ...

  3. tp5+linux+apache php7.1.30环境下,上传图片报错:mkdir():permission denied

    做了个自己的博客,后台上传图片的时候报错如图: 首先反应是权限问题,runtime和uploads文件夹已经给了777权限了,超出菜鸟的解决范围,果断百度,但是百度了一堆,全部是关于runtime的, ...

  4. 解决 QRibbon 在VS+Qt 环境下的编码报错问题 “文本后缀无效; 未找到文文本运算符或文本运算符模板“

    一.问题 在使用QRibbon时编译报错 "文本后缀无效; 未找到文文本运算符或文本运算符模板",是因为编码问题,需要将程序文件进行编码设置 二.解决方案 1.Visual Stu ...

  5. php+nginx环境下的php报错设置

    修改php.ini的配置: display_errors = Off(关闭) display_errors = On(开启) 设置修改完成后重启php-cgi进程 killall -9 php-cgi ...

  6. Anaconda下激活环境conda activate xxx 报错

    Anaconda下激活环境conda activate xxx 报错 报错 原因 解决 报错 在Anaconda下安装完python环境后,在激活python2.7环境时conda activate报 ...

  7. axios+springboot 报错 POST http://localhost:8080/Login 404 (Not Found)

    问题:点击登录,页面无跳转,报错: POST http://localhost:8080/Login 404 (Not Found) Uncaught (in promise) Error: Requ ...

  8. 解决Tomcat下IntelliJ IDEA报错java.lang.NoClassDefFoundError: javax/servlet/ServletContextListener

    解决Tomcat下IntelliJ IDEA报错java.lang.NoClassDefFoundError: javax/servlet/ServletContextListener   笔者在做代 ...

  9. VS中编译带Qt的他人项目,环境搭建及解决报错

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 VS中编译带Qt的他人项目,环境搭建及解决报错 一.安装VS及Qt及Qt VS Tools 二.报错及解决办法 1.未能找到程序集&q ...

最新文章

  1. Android Lambda 表达式使用实例,-
  2. 阿里数加大数据平台发布,将培养5万大数据科学家
  3. Qt 中实现在控件中点击鼠标,就在鼠标点击处加载图片的方法
  4. EasyUI form ajax submit到MVC后,在IE下提示下载内容的解决办法
  5. OSI参考模型各层的功能详解
  6. MBA-day4数学-十字交叉法
  7. 山东理工ACM【1216】杨辉三角
  8. 99乘法口诀表用for循环
  9. Java使用opencv调用微信扫描二维码引擎,附带windows和linux需要的动态库文件
  10. 尚硅谷python入门
  11. 入门学习-Python-小甲鱼学习资料-Day031-永久存储:腌制一缸美味的泡菜
  12. java下载excel文件损坏
  13. 【遇见offer】微软专场直播强势来袭!快来领取你的专属面试福利吧~
  14. 使用脚本自动创建AD中的层次化结构容器及对象
  15. mysql储存引擎,数据类型,增删改查
  16. oracle中 || 代表的含义
  17. 考研英语 - word-list-34
  18. lisp 提取字符串中的數字_LISP - 字符串
  19. H5 --- 动画属性 / 3d属性
  20. 定做景德镇陶瓷杯应该注意那些细节。

热门文章

  1. MyCat相关知识及测试要点
  2. UDP都是全双工通信的吗
  3. hdu 1757(矩阵快速幂)
  4. 使用C++实现CE中的代码注入
  5. 微信小程序云函数使用教程【超详细】
  6. 按着Phoenix Framework文档练个手,感受一下Elixir语言。
  7. php捉迷藏,查看“蘑菇捉迷藏!”的源代码
  8. 三十六、前端基础 CSS
  9. 求极值函数-MATLAB
  10. 聚合支付机构备案情况分析(截至22年1月27日)