当前位置: 首页 > 面试题库 >

AngularJS $ http从失败的CORS请求返回状态代码0

萧波峻
2023-03-14
问题内容

好的,我已经到处寻找了。基本上,我们使用的是跨域请求的$
http请求。我们的服务器允许该域,当请求返回200时,一切正常。但是,无论何时我们的服务器返回错误500、401,无论如何,Angular都认为这是CORS问题。

我用Fiddler调试了响应,以验证服务器是否返回了500,但Angular阻塞了。

这是请求:

       var params = {
            url: "fakehost/example",
            method: 'GET',
            headers: {
                "Authorization": "Basic encodedAuthExample"
            }
        };

       $http(params).then(
            function (response) { // success

            },
            function (error) { // error 
                 // error.status is always 0, never includes data error msg
            });

然后在控制台中,我将看到:

XMLHttpRequest无法加载fakehost / example。所请求的资源上没有“ Access-Control-Allow-
Origin”标头。因此,不允许访问源“ mylocalhost:5750”。

然而,在提琴手中,真正的回应是:

HTTP/1.1 500 Internal Server Error
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/json; charset=utf-8
Expires: -1
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Tue, 26 Aug 2014 12:18:17 GMT
Content-Length: 5683

{"errorId":null,"errorMessage":"Index was outside the bounds of the array.","errorDescription":"Stack trace here"}

我正在使用AngularJS v1.2.16


问题答案:

我想我找到了答案,样子你会在你的asp.net管道注入正确的CORS头,提到这里。



 类似资料:
  • 我在google sheets中有一个脚本,可以将当前的工作表作为附件发送到电子邮件中。 这个脚本在我看来100%都能正常工作,但是任何其他运行相同脚本的人都会出错。寻找想法或解决方案,这样每个人都可以使用脚本,而不仅仅是我。他们都已授权脚本运行,但仍然存在相同的错误。(脚本下面列出的错误) 其他人收到的错误,每次都对我有效: https://docs.google.com/a/stratusvi

  • 我希望根据响应对象错误动态返回HTTPStatus代码,如400、400、404等。我被提到这个问题--使用Spring3RESTful以编程方式更改http响应状态,但没有帮助。 我有一个带有方法的控制器类 是一个类,其中有上面使用的两个方法(和)。 我不想签入if条件并相应地返回响应代码,有没有其他更好的方法来做到这一点?

  • 我最近参加了一个新项目。在这个项目中,所有正在使用的API总是返回状态代码200。即使响应应该是400或404,API也会返回状态代码200。 我问API为什么不返回其他响应代码,程序员告诉我他们不使用响应代码。他们把信息放在身体里。 例如,缺少一些必填字段,它们返回响应状态代码200,但正文返回如下 如果未经授权的用户试图访问,状态代码为200,身体像这样返回 我以前做的是非常不同的,我总是通过

  • 这是我的同意模式 这是同意控制器获取声明 这是声明后的同意 同意html thymeleaf表单是 提交表格后。我得到这个错误 HTTP状态500-请求处理失败;嵌套异常是org.thymeleaf.exceptions.TemplateProcessing异常:异常评估SpringEL表达式:"user.providers"(提供者/createOrUpdateConentForm 组织。spr

  • 我有一个springboot/openapi应用程序。不依赖Spring Security性。通过swagger启动POST请求时,返回的状态为403。请求未到达控制器类。然而,Get请求确实有效,并返回状态200。 配置如下 application.yaml 403状态的原因可能是什么? 控制器

  • 问题内容: 当JavaScript网络调用(例如fetch或XMLHttpRequest或任何其他类型的HTTP网络请求)失败且HTTP状态代码为0时,这是什么意思? 这似乎不是有效的HTTP状态代码,因为其他代码是HTTP规范中的三位数字。 我尝试将网络完全拔掉作为测试。它可能不相关,但是导致状态代码17003(IIRC),粗略搜索表明这意味着“ DNS服务器查找失败”。 相同的代码在某些位置和