在 VS Code 上使用 Chrome Web 时出现“XMLHttpRequest”错误
Posted
技术标签:
【中文标题】在 VS Code 上使用 Chrome Web 时出现“XMLHttpRequest”错误【英文标题】:Getting "XMLHttpRequest" error while using Chrome Web on VS Code 【发布时间】:2022-01-21 18:35:08 【问题描述】:当我使用 VS Code 在 Chrome Web 上启动我的应用程序并尝试向后端发送 http
请求时,它给了我 XMLHttpRequest error
并且不起作用。
当我在 android Emulator 上启动该应用时,它可以工作。我还尝试在我的后端应用程序中添加 Allow-All-Origins 和其他 CORS 选项,但仍然出现相同的错误。
我也尝试在 Chrome Web 上停用 CORS,但也没有用。我不知道是否有必要添加我尝试过但没有得到答案的解决方案,但我也想知道这是一个 Bug 还是 Flutter 或 Chrome web 的问题?
【问题讨论】:
【参考方案1】:我更改了以下代码行:
final url = Uri.parse('http://10.0.2.2:8000/api/$urlSegment');
如下:
final url = Uri.parse('http://127.0.0.1:8000/api/$urlSegment');
问题似乎解决了,但我不确定它是否是正确的解决方案?
【讨论】:
【参考方案2】:您需要在后端文件的头部添加代码。
添加或更改标题代码
“访问控制允许来源”:“*”,
"Access-Control-Allow-Methods": "POST, GET, OPTIONS, PUT, DELETE, HEAD",
【讨论】:
我使用 Deno 后端,但我认为它没有这样的标头。它使用oakcors
并尝试过,但没有奏效。最后,我将请求地址更改为下面的答案,并且成功了!
好。我也遇到了与 php 作为后端相同的问题,我使用“Access-Control-Allow-Origin”解决了。以上是关于在 VS Code 上使用 Chrome Web 时出现“XMLHttpRequest”错误的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio Code-使用Chrome Debugging for VS Code调试JS
VS Code + Debugger for Chrome:在现有 Chrome 实例中打开选项卡,而不是新窗口?