gpt4 book ai didi

angularjs - Angular $ http.get()-如何捕获 “access control”错误

转载 作者:行者123 更新时间:2023-12-03 07:58:15 25 4
gpt4 key购买 nike

我正在使用$ http.get()提交一个API请求,只要在测试时在浏览器中启用CORS,它就可以正常工作。当然,这只是一个创可贴。

我找到了这篇文章:
Angular $http.get: How to catch all the errors?

并使用then()。catch()设置我的代码,并在按预期方式执行catch代码时,仍然引发错误:

XMLHttpRequest cannot load 'url here' due to access control checks.



即使为开发而手动禁用CORS,尽管我使用catch(),我仍然会收到401错误。

目的是防止控制台中出现旧的“红色文本”错误,并通过向用户发出警报来处理它们。

最佳答案

当您在浏览器中发送http请求时,它首先发送OPTIONS请求,称为preflight。如果预检请求的响应中不包含Access-Control-Allow-Origin header ,则浏览器将阻止该请求。

该预检请求对Java透明。因此,对于每个ajax调用,如果目标是跨域的,浏览器都会发送两个请求。

即使您发现了错误,但是如果预检请求失败,浏览器也会在控制台中报告网络错误。

关于angularjs - Angular $ http.get()-如何捕获 “access control”错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47310954/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com