错误:Ajax 调用 ScalaJS 上禁止跨源本地主机

Posted

技术标签:

【中文标题】错误:Ajax 调用 ScalaJS 上禁止跨源本地主机【英文标题】:Error: Cross origin localhost forbidden on Ajax call ScalaJS 【发布时间】:2021-06-03 16:35:22 【问题描述】:

我正在尝试在***上执行一个简单的“GET”:

Ajax.get("https://en.wikipedia.org/w/index.php?title=Special:Random") map (_.responseText)

我在尝试运行时收到此错误:

[error] org.scalajs.jsenv.ExternalJSRun$NonZeroExitException: exited with code 1
[error]         at org.scalajs.jsenv.ExternalJSRun$$anon$1.run(ExternalJSRun.scala:186)
[error] stack trace is suppressed; run 'last Compile / run' for the full output
[error] (Compile / run) org.scalajs.jsenv.ExternalJSRun$NonZeroExitException: exited with code 1
[error] Total time: 3 s, completed Mar 4, 2021, 4:47:42 PM
Error: Cross origin http://localhost forbidden
    at dispatchError (C:\Users\mjwin\IdeaProjects\wiki-brain\node_modules\jsdom\lib\jsdom\living\xhr\xhr-utils.js:62:19)
    at Object.validCORSHeaders (C:\Users\mjwin\IdeaProjects\wiki-brain\node_modules\jsdom\lib\jsdom\living\xhr\xhr-utils.js:74:5)
    at Request.<anonymous> (C:\Users\mjwin\IdeaProjects\wiki-brain\node_modules\jsdom\lib\jsdom\living\xhr\XMLHttpRequest-impl.js:673:25)
    at Request.emit (events.js:315:20)
    at Redirect.onResponse (C:\Users\mjwin\IdeaProjects\wiki-brain\node_modules\request\lib\redirect.js:147:11)
    at Request.onRequestResponse (C:\Users\mjwin\IdeaProjects\wiki-brain\node_modules\request\request.js:986:22)
    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 TLSSocket.socketOnData (_http_client.js:509:22) 
  type: 'XMLHttpRequest'

我已经四处寻找有关此错误的信息,但我仍然不确定它的含义。我想我知道我遇到了 CORS 问题,但我不知道该怎么做。

【问题讨论】:

【参考方案1】:

您需要允许将文件读入 URL:

跨域读取阻塞 (CORB) 阻止了跨域响应

不允许您的网址访问。您的脚本出错了。

【讨论】:

只有 wikipedia.org 选择谁被允许

以上是关于错误:Ajax 调用 ScalaJS 上禁止跨源本地主机的主要内容,如果未能解决你的问题,请参考以下文章

跨子域的 Ajax jquery - 带有 403 禁止错误的 OPTIONS 请求

scalajs-react:处理 ajax 响应的惯用方式

scalajs-react:Ajax GET 与 DELETE 的意外差异

ClientError:调用 HeadObject 操作时发生错误(403):尝试跨帐户复制时禁止

间歇性 HTTP 403 禁止错误调用相同的 Ajax 代码

处理跨域 jsonp 调用的 jQuery.ajax 错误