当我根据 DynDNS url 名称而不是 IP 发出 axios 请求时,为啥会出现 CORS 错误?

Posted

技术标签:

【中文标题】当我根据 DynDNS url 名称而不是 IP 发出 axios 请求时,为啥会出现 CORS 错误?【英文标题】:Why do I get CORS error when I make axios request based on DynDNS url name and not with IP?当我根据 DynDNS url 名称而不是 IP 发出 axios 请求时,为什么会出现 CORS 错误? 【发布时间】:2017-12-20 22:28:40 【问题描述】:

我有一个运行 Node.js 的 Raspberry。 CORS 已安装和配置。我设置了端口转发,但由于 IP 不断变化,我在 DynDNS 提供商处注册。

我将 React.js 与 Axios 一起用于 localhost:8080 上的 API 请求。

有趣的是,如果我的请求基于(例如)

const ROOT_URL = 'http://81.23.563.80:5000/';

每 24 小时不断变化,然后 CORS 模块正在完成它的工作,我可以执行我的请求。但如果我想做正确的事并提出我的要求

const ROOT_URL = 'http://mydyndnsurl.provider.com/';

然后我会得到他典型的错误信息:

XMLHttpRequest 无法加载 http://mydyndnsurl.provider.com/。回应 预检请求未通过访问控制检查:否 请求中存在“Access-Control-Allow-Origin”标头 资源。因此不允许使用原点“http://localhost:8080” 访问。

有人有解决这个问题的办法吗?

【问题讨论】:

【参考方案1】:

您仍然需要在ROOT_URL 中包含端口号:

const ROOT_URL = 'http://mydyndnsurl.provider.com:5000/';

【讨论】:

太棒了!如果没有帮助,我不会解决它。谢谢!

以上是关于当我根据 DynDNS url 名称而不是 IP 发出 axios 请求时,为啥会出现 CORS 错误?的主要内容,如果未能解决你的问题,请参考以下文章

Django URL 变量 - URL 中的企业名称而不是 ID

是否可以查看 chrome 历史记录的 ip 地址而不是 url?

从Tomcat URL中删除文件夹名称

Codeigniter路由:如何在url中显示名称而不是id号

本地局域网内或路由器后面的动态IP更新(到DNS服务,如zoneedit或dyndns)

python 使用当前IP在amazon area53 DNS服务上添加/更新A记录的Python脚本。 (即更换dyndns)