【问题标题】:i18n: NS_ERROR_DOM_BAD_URI: Access to restricted URI deniedi18n:NS_ERROR_DOM_BAD_URI:访问受限 URI 被拒绝
【发布时间】:2014-11-28 09:55:33
【问题描述】:

在我的计算机上进行本地测试:

index.hml

<!DOCTYPE html>
<html>
    <head>
        <!--script src="angular.js"></script-->
        <script src="i18next.js"></script>
        <script src="app.js"></script>
    </head>
    <body>
    </body>
</html>

app.js

i18n.init();

i18next.js 中的第 672 行错误

xhr.send(payload);

NS_ERROR_DOM_BAD_URI:对受限 URI 的访问被拒绝

  • 如何解决此错误?
  • 可选:这条线有什么作用?

【问题讨论】:

标签: javascript html internationalization


【解决方案1】:

您遇到了同源策略问题(请参阅http://en.wikipedia.org/wiki/Same-origin_policy)。这意味着您发送请求的目标 URI 和您发送请求的来源 URL 之间的端口、域或协议都不相同。

您可以通过在服务器端代码中添加标头来克服这个问题:
Access-Control-Request-Headers
Access-Control-Request-Method

见: https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS

【讨论】:

    【解决方案2】:

    我已经解决了我的项目中的 NS_ERROR_DOM_BAD_URI 错误(使用 ReactJS - 通过 axios 处理 API),但我认为我的解决方案可以帮助您:

    1. 我是怎么得到这个错误的:

    FE 代码:

    headers:  {
    'Access-Control-Allow-Origin': '*',
    'Content-Type': 'application/json'
    }
    

    BE 代码(Spring Boot):

    allowedHeaders("userLoginToken", "Content-Type")
    

    因为我只允许在标题中使用“Content-Type”,但我的标题有冗余配置“Access-Control-Allow-Origin”,而我的 BE 不允许这样做。

    1. 我是如何解决的: 只删除请求头中的“Access-Control-Allow-Origin”,错误就消失了。

      标题:{ “内容类型”:“应用程序/json” }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-08
      • 2013-06-24
      • 2012-03-17
      • 1970-01-01
      • 1970-01-01
      • 2015-01-20
      • 1970-01-01
      • 2013-12-21
      相关资源
      最近更新 更多