Angular 为什么401时我无法处理/捕获http错误状态?

Angular 为什么401时我无法处理/捕获http错误状态?,angular,http,rxjs,Angular,Http,Rxjs,堆栈是Angular 5->.NET核心API。我在调用http.get时遇到一些错误处理,当我的浏览器控制台显示401(未经授权)时,错误状态为0。我做错什么了 getSearch(request:string) { return this.http.get<ProviderSearch>(request, options) .pipe( tap(_ => { console.log(`MyDa

堆栈是Angular 5->.NET核心API。我在调用http.get时遇到一些错误处理,当我的浏览器控制台显示401(未经授权)时,错误状态为0。我做错什么了

getSearch(request:string) {

    return this.http.get<ProviderSearch>(request, options)
        .pipe(
            tap(_ => {
                console.log(`MyDataService: ${endpointPath}`);
            }),
            catchError(this.apiErrorService.handleError<MyDataSearchResponse>(`GET ${endpointPath}`)),
        );
}

public handleError<T> (operation = 'operation', pushNotify: boolean = false, result?: T) {

    return (error: any): Observable<T> => {

        console.error(`**** ERROR: ${JSON.stringify(error)}`); // log to console instead

        throw(error || 'Server error');
    };
}
未实施CORS时,将出现以下错误响应:

加载失败:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头。因此,不允许访问源“”。响应的HTTP状态代码为404

launchSettings.json

{
  "iisSettings": {
    "windowsAuthentication": true,
    "anonymousAuthentication": false,
    "iisExpress": {
      "applicationUrl": "http://localhost:62489/",
      "sslPort": 0
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "launchUrl": "api/provider",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "Console": {
      "commandName": "Project",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}
当我从客户端(Angular)调用时,标题(来自fiddler)显示3个调用:

调用#1(204响应)标题(请求和响应):

请求:

OPTIONS /api/providersearch?&specialtyId=-1&providerTypeId=-1&regionId=-1&cityId=-1&organizationId=-1&pageStart=1&pageSize=5 HTTP/1.1
Host: localhost:62489
Connection: keep-alive
Access-Control-Request-Method: GET
Origin: http://localhost:4202
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36
Access-Control-Request-Headers: content-type
Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
GET /api/providersearch?&specialtyId=-1&providerTypeId=-1&regionId=-1&cityId=-1&organizationId=-1&pageStart=1&pageSize=5 HTTP/1.1
Host: localhost:62489
Connection: keep-alive
Accept: application/json, text/plain, */*
Origin: http://localhost:4202
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36
Content-Type: application/json
Referer: http://localhost:4202/
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
GET /api/providersearch?&specialtyId=-1&providerTypeId=-1&regionId=-1&cityId=-1&organizationId=-1&pageStart=1&pageSize=5 HTTP/1.1
Host: localhost:62489
Connection: keep-alive
Authorization: Negotiate YHcGBisGAQUFAqBtMGugMDAuBgorBgEEAYI3AgIKBgkqhkiC9xIBAgIGCSqGSIb3EgECAgYKKwYBBAGCNwICHqI3BDVOVExNU1NQAAEAAACXsgjiAwADADIAAAAKAAoAKAAAAAoAqz8AAAAPR0dIUy1MMDAxNkNNTg==
Accept: application/json, text/plain, */*
Origin: http://localhost:4202
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36
Content-Type: application/json
Referer: http://localhost:4202/
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
GET /api/providersearch?&specialtyId=-1&providerTypeId=-1&regionId=-1&cityId=-1&organizationId=-1&pageStart=1&pageSize=5 HTTP/1.1
Host: localhost:62489
Connection: keep-alive
Authorization: Negotiate oXcwdaADCgEBoloEWE5UTE1TU1AAAwAAAAAAAABYAAAAAAAAAFgAAAAAAAAAWAAAAAAAAABYAAAAAAAAAFgAAAAAAAAAWAAAABXCiOIKAKs/AAAADxTu/MxIVvwagppbuHaQldKjEgQQAQAAALv5rPHqFBetAAAAAA==
Accept: application/json, text/plain, */*
Origin: http://localhost:4202
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36
Content-Type: application/json
Referer: http://localhost:4202/
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
答复:

HTTP/1.1 204 No Content
Vary: Origin
Server: Kestrel
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: content-type
Access-Control-Allow-Origin: http://localhost:4202
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcYWNveFxzb3VyY2VccmVwb3NcY21uLnByb3ZpZGVyLmRhdGFcY21uLnByb3ZpZGVyLmFwaVxhcGlccHJvdmlkZXJzZWFyY2g=?=
X-Powered-By: ASP.NET
Date: Thu, 24 May 2018 20:50:21 GMT
HTTP/1.1 401 Unauthorized
Vary: Origin
Server: Kestrel
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: http://localhost:4202
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcYWNveFxzb3VyY2VccmVwb3NcY21uLnByb3ZpZGVyLmRhdGFcY21uLnByb3ZpZGVyLmFwaVxhcGlccHJvdmlkZXJzZWFyY2g=?=
WWW-Authenticate: Negotiate
WWW-Authenticate: NTLM
X-Powered-By: ASP.NET
Date: Thu, 24 May 2018 20:50:21 GMT
Content-Length: 0
Proxy-Support: Session-Based-Authentication
HTTP/1.1 401 Unauthorized
Content-Type: text/html; charset=us-ascii
Server: Microsoft-HTTPAPI/2.0
WWW-Authenticate: Negotiate oYH8MIH5oAMKAQGhDAYKKwYBBAGCNwICCqKB4wSB4E5UTE1TU1AAAgAAAAYABgA4AAAAFcKJ4plNUkS82EIzcAQlUHsBAACiAKIAPgAAAAoAqz8AAAAPQwBNAE4AAgAGAEMATQBOAAEAFABHAEcASABTAC0ATAAwADAAMQA2AAQAGgBjAGEAbgBtAGUAZABuAGUAdAAuAGMAbwBtAAMAMABHAEcASABTAC0ATAAwADAAMQA2AC4AYwBhAG4AbQBlAGQAbgBlAHQALgBjAG8AbQAFABoAYwBhAG4AbQBlAGQAbgBlAHQALgBjAG8AbQAHAAgAEawP1aDz0wEAAAAA
Date: Thu, 24 May 2018 20:50:21 GMT
Content-Length: 341
Proxy-Support: Session-Based-Authentication
HTTP/1.1 200 OK
Cache-Control: public,max-age=30
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8
Server: Kestrel
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: http://localhost:4202
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcYWNveFxzb3VyY2VccmVwb3NcY21uLnByb3ZpZGVyLmRhdGFcY21uLnByb3ZpZGVyLmFwaVxhcGlccHJvdmlkZXJzZWFyY2g=?=
Persistent-Auth: true
X-Powered-By: ASP.NET
WWW-Authenticate: Negotiate oRswGaADCgEAoxIEEAEAAACBDX3/vTx/zQAAAAA=
Date: Thu, 24 May 2018 20:50:25 GMT
调用#2(401响应)标题(请求和响应):

请求:

OPTIONS /api/providersearch?&specialtyId=-1&providerTypeId=-1&regionId=-1&cityId=-1&organizationId=-1&pageStart=1&pageSize=5 HTTP/1.1
Host: localhost:62489
Connection: keep-alive
Access-Control-Request-Method: GET
Origin: http://localhost:4202
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36
Access-Control-Request-Headers: content-type
Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
GET /api/providersearch?&specialtyId=-1&providerTypeId=-1&regionId=-1&cityId=-1&organizationId=-1&pageStart=1&pageSize=5 HTTP/1.1
Host: localhost:62489
Connection: keep-alive
Accept: application/json, text/plain, */*
Origin: http://localhost:4202
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36
Content-Type: application/json
Referer: http://localhost:4202/
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
GET /api/providersearch?&specialtyId=-1&providerTypeId=-1&regionId=-1&cityId=-1&organizationId=-1&pageStart=1&pageSize=5 HTTP/1.1
Host: localhost:62489
Connection: keep-alive
Authorization: Negotiate YHcGBisGAQUFAqBtMGugMDAuBgorBgEEAYI3AgIKBgkqhkiC9xIBAgIGCSqGSIb3EgECAgYKKwYBBAGCNwICHqI3BDVOVExNU1NQAAEAAACXsgjiAwADADIAAAAKAAoAKAAAAAoAqz8AAAAPR0dIUy1MMDAxNkNNTg==
Accept: application/json, text/plain, */*
Origin: http://localhost:4202
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36
Content-Type: application/json
Referer: http://localhost:4202/
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
GET /api/providersearch?&specialtyId=-1&providerTypeId=-1&regionId=-1&cityId=-1&organizationId=-1&pageStart=1&pageSize=5 HTTP/1.1
Host: localhost:62489
Connection: keep-alive
Authorization: Negotiate oXcwdaADCgEBoloEWE5UTE1TU1AAAwAAAAAAAABYAAAAAAAAAFgAAAAAAAAAWAAAAAAAAABYAAAAAAAAAFgAAAAAAAAAWAAAABXCiOIKAKs/AAAADxTu/MxIVvwagppbuHaQldKjEgQQAQAAALv5rPHqFBetAAAAAA==
Accept: application/json, text/plain, */*
Origin: http://localhost:4202
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36
Content-Type: application/json
Referer: http://localhost:4202/
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
答复:

HTTP/1.1 204 No Content
Vary: Origin
Server: Kestrel
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: content-type
Access-Control-Allow-Origin: http://localhost:4202
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcYWNveFxzb3VyY2VccmVwb3NcY21uLnByb3ZpZGVyLmRhdGFcY21uLnByb3ZpZGVyLmFwaVxhcGlccHJvdmlkZXJzZWFyY2g=?=
X-Powered-By: ASP.NET
Date: Thu, 24 May 2018 20:50:21 GMT
HTTP/1.1 401 Unauthorized
Vary: Origin
Server: Kestrel
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: http://localhost:4202
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcYWNveFxzb3VyY2VccmVwb3NcY21uLnByb3ZpZGVyLmRhdGFcY21uLnByb3ZpZGVyLmFwaVxhcGlccHJvdmlkZXJzZWFyY2g=?=
WWW-Authenticate: Negotiate
WWW-Authenticate: NTLM
X-Powered-By: ASP.NET
Date: Thu, 24 May 2018 20:50:21 GMT
Content-Length: 0
Proxy-Support: Session-Based-Authentication
HTTP/1.1 401 Unauthorized
Content-Type: text/html; charset=us-ascii
Server: Microsoft-HTTPAPI/2.0
WWW-Authenticate: Negotiate oYH8MIH5oAMKAQGhDAYKKwYBBAGCNwICCqKB4wSB4E5UTE1TU1AAAgAAAAYABgA4AAAAFcKJ4plNUkS82EIzcAQlUHsBAACiAKIAPgAAAAoAqz8AAAAPQwBNAE4AAgAGAEMATQBOAAEAFABHAEcASABTAC0ATAAwADAAMQA2AAQAGgBjAGEAbgBtAGUAZABuAGUAdAAuAGMAbwBtAAMAMABHAEcASABTAC0ATAAwADAAMQA2AC4AYwBhAG4AbQBlAGQAbgBlAHQALgBjAG8AbQAFABoAYwBhAG4AbQBlAGQAbgBlAHQALgBjAG8AbQAHAAgAEawP1aDz0wEAAAAA
Date: Thu, 24 May 2018 20:50:21 GMT
Content-Length: 341
Proxy-Support: Session-Based-Authentication
HTTP/1.1 200 OK
Cache-Control: public,max-age=30
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8
Server: Kestrel
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: http://localhost:4202
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcYWNveFxzb3VyY2VccmVwb3NcY21uLnByb3ZpZGVyLmRhdGFcY21uLnByb3ZpZGVyLmFwaVxhcGlccHJvdmlkZXJzZWFyY2g=?=
Persistent-Auth: true
X-Powered-By: ASP.NET
WWW-Authenticate: Negotiate oRswGaADCgEAoxIEEAEAAACBDX3/vTx/zQAAAAA=
Date: Thu, 24 May 2018 20:50:25 GMT
调用#3(401响应)标题(请求和响应):

请求:

OPTIONS /api/providersearch?&specialtyId=-1&providerTypeId=-1&regionId=-1&cityId=-1&organizationId=-1&pageStart=1&pageSize=5 HTTP/1.1
Host: localhost:62489
Connection: keep-alive
Access-Control-Request-Method: GET
Origin: http://localhost:4202
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36
Access-Control-Request-Headers: content-type
Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
GET /api/providersearch?&specialtyId=-1&providerTypeId=-1&regionId=-1&cityId=-1&organizationId=-1&pageStart=1&pageSize=5 HTTP/1.1
Host: localhost:62489
Connection: keep-alive
Accept: application/json, text/plain, */*
Origin: http://localhost:4202
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36
Content-Type: application/json
Referer: http://localhost:4202/
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
GET /api/providersearch?&specialtyId=-1&providerTypeId=-1&regionId=-1&cityId=-1&organizationId=-1&pageStart=1&pageSize=5 HTTP/1.1
Host: localhost:62489
Connection: keep-alive
Authorization: Negotiate YHcGBisGAQUFAqBtMGugMDAuBgorBgEEAYI3AgIKBgkqhkiC9xIBAgIGCSqGSIb3EgECAgYKKwYBBAGCNwICHqI3BDVOVExNU1NQAAEAAACXsgjiAwADADIAAAAKAAoAKAAAAAoAqz8AAAAPR0dIUy1MMDAxNkNNTg==
Accept: application/json, text/plain, */*
Origin: http://localhost:4202
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36
Content-Type: application/json
Referer: http://localhost:4202/
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
GET /api/providersearch?&specialtyId=-1&providerTypeId=-1&regionId=-1&cityId=-1&organizationId=-1&pageStart=1&pageSize=5 HTTP/1.1
Host: localhost:62489
Connection: keep-alive
Authorization: Negotiate oXcwdaADCgEBoloEWE5UTE1TU1AAAwAAAAAAAABYAAAAAAAAAFgAAAAAAAAAWAAAAAAAAABYAAAAAAAAAFgAAAAAAAAAWAAAABXCiOIKAKs/AAAADxTu/MxIVvwagppbuHaQldKjEgQQAQAAALv5rPHqFBetAAAAAA==
Accept: application/json, text/plain, */*
Origin: http://localhost:4202
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36
Content-Type: application/json
Referer: http://localhost:4202/
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
答复:

HTTP/1.1 204 No Content
Vary: Origin
Server: Kestrel
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: content-type
Access-Control-Allow-Origin: http://localhost:4202
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcYWNveFxzb3VyY2VccmVwb3NcY21uLnByb3ZpZGVyLmRhdGFcY21uLnByb3ZpZGVyLmFwaVxhcGlccHJvdmlkZXJzZWFyY2g=?=
X-Powered-By: ASP.NET
Date: Thu, 24 May 2018 20:50:21 GMT
HTTP/1.1 401 Unauthorized
Vary: Origin
Server: Kestrel
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: http://localhost:4202
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcYWNveFxzb3VyY2VccmVwb3NcY21uLnByb3ZpZGVyLmRhdGFcY21uLnByb3ZpZGVyLmFwaVxhcGlccHJvdmlkZXJzZWFyY2g=?=
WWW-Authenticate: Negotiate
WWW-Authenticate: NTLM
X-Powered-By: ASP.NET
Date: Thu, 24 May 2018 20:50:21 GMT
Content-Length: 0
Proxy-Support: Session-Based-Authentication
HTTP/1.1 401 Unauthorized
Content-Type: text/html; charset=us-ascii
Server: Microsoft-HTTPAPI/2.0
WWW-Authenticate: Negotiate oYH8MIH5oAMKAQGhDAYKKwYBBAGCNwICCqKB4wSB4E5UTE1TU1AAAgAAAAYABgA4AAAAFcKJ4plNUkS82EIzcAQlUHsBAACiAKIAPgAAAAoAqz8AAAAPQwBNAE4AAgAGAEMATQBOAAEAFABHAEcASABTAC0ATAAwADAAMQA2AAQAGgBjAGEAbgBtAGUAZABuAGUAdAAuAGMAbwBtAAMAMABHAEcASABTAC0ATAAwADAAMQA2AC4AYwBhAG4AbQBlAGQAbgBlAHQALgBjAG8AbQAFABoAYwBhAG4AbQBlAGQAbgBlAHQALgBjAG8AbQAHAAgAEawP1aDz0wEAAAAA
Date: Thu, 24 May 2018 20:50:21 GMT
Content-Length: 341
Proxy-Support: Session-Based-Authentication
HTTP/1.1 200 OK
Cache-Control: public,max-age=30
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8
Server: Kestrel
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: http://localhost:4202
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcYWNveFxzb3VyY2VccmVwb3NcY21uLnByb3ZpZGVyLmRhdGFcY21uLnByb3ZpZGVyLmFwaVxhcGlccHJvdmlkZXJzZWFyY2g=?=
Persistent-Auth: true
X-Powered-By: ASP.NET
WWW-Authenticate: Negotiate oRswGaADCgEAoxIEEAEAAACBDX3/vTx/zQAAAAA=
Date: Thu, 24 May 2018 20:50:25 GMT
调用#4(200个响应)标题(请求和响应):

请求:

OPTIONS /api/providersearch?&specialtyId=-1&providerTypeId=-1&regionId=-1&cityId=-1&organizationId=-1&pageStart=1&pageSize=5 HTTP/1.1
Host: localhost:62489
Connection: keep-alive
Access-Control-Request-Method: GET
Origin: http://localhost:4202
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36
Access-Control-Request-Headers: content-type
Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
GET /api/providersearch?&specialtyId=-1&providerTypeId=-1&regionId=-1&cityId=-1&organizationId=-1&pageStart=1&pageSize=5 HTTP/1.1
Host: localhost:62489
Connection: keep-alive
Accept: application/json, text/plain, */*
Origin: http://localhost:4202
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36
Content-Type: application/json
Referer: http://localhost:4202/
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
GET /api/providersearch?&specialtyId=-1&providerTypeId=-1&regionId=-1&cityId=-1&organizationId=-1&pageStart=1&pageSize=5 HTTP/1.1
Host: localhost:62489
Connection: keep-alive
Authorization: Negotiate YHcGBisGAQUFAqBtMGugMDAuBgorBgEEAYI3AgIKBgkqhkiC9xIBAgIGCSqGSIb3EgECAgYKKwYBBAGCNwICHqI3BDVOVExNU1NQAAEAAACXsgjiAwADADIAAAAKAAoAKAAAAAoAqz8AAAAPR0dIUy1MMDAxNkNNTg==
Accept: application/json, text/plain, */*
Origin: http://localhost:4202
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36
Content-Type: application/json
Referer: http://localhost:4202/
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
GET /api/providersearch?&specialtyId=-1&providerTypeId=-1&regionId=-1&cityId=-1&organizationId=-1&pageStart=1&pageSize=5 HTTP/1.1
Host: localhost:62489
Connection: keep-alive
Authorization: Negotiate oXcwdaADCgEBoloEWE5UTE1TU1AAAwAAAAAAAABYAAAAAAAAAFgAAAAAAAAAWAAAAAAAAABYAAAAAAAAAFgAAAAAAAAAWAAAABXCiOIKAKs/AAAADxTu/MxIVvwagppbuHaQldKjEgQQAQAAALv5rPHqFBetAAAAAA==
Accept: application/json, text/plain, */*
Origin: http://localhost:4202
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36
Content-Type: application/json
Referer: http://localhost:4202/
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
答复:

HTTP/1.1 204 No Content
Vary: Origin
Server: Kestrel
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: content-type
Access-Control-Allow-Origin: http://localhost:4202
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcYWNveFxzb3VyY2VccmVwb3NcY21uLnByb3ZpZGVyLmRhdGFcY21uLnByb3ZpZGVyLmFwaVxhcGlccHJvdmlkZXJzZWFyY2g=?=
X-Powered-By: ASP.NET
Date: Thu, 24 May 2018 20:50:21 GMT
HTTP/1.1 401 Unauthorized
Vary: Origin
Server: Kestrel
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: http://localhost:4202
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcYWNveFxzb3VyY2VccmVwb3NcY21uLnByb3ZpZGVyLmRhdGFcY21uLnByb3ZpZGVyLmFwaVxhcGlccHJvdmlkZXJzZWFyY2g=?=
WWW-Authenticate: Negotiate
WWW-Authenticate: NTLM
X-Powered-By: ASP.NET
Date: Thu, 24 May 2018 20:50:21 GMT
Content-Length: 0
Proxy-Support: Session-Based-Authentication
HTTP/1.1 401 Unauthorized
Content-Type: text/html; charset=us-ascii
Server: Microsoft-HTTPAPI/2.0
WWW-Authenticate: Negotiate oYH8MIH5oAMKAQGhDAYKKwYBBAGCNwICCqKB4wSB4E5UTE1TU1AAAgAAAAYABgA4AAAAFcKJ4plNUkS82EIzcAQlUHsBAACiAKIAPgAAAAoAqz8AAAAPQwBNAE4AAgAGAEMATQBOAAEAFABHAEcASABTAC0ATAAwADAAMQA2AAQAGgBjAGEAbgBtAGUAZABuAGUAdAAuAGMAbwBtAAMAMABHAEcASABTAC0ATAAwADAAMQA2AC4AYwBhAG4AbQBlAGQAbgBlAHQALgBjAG8AbQAFABoAYwBhAG4AbQBlAGQAbgBlAHQALgBjAG8AbQAHAAgAEawP1aDz0wEAAAAA
Date: Thu, 24 May 2018 20:50:21 GMT
Content-Length: 341
Proxy-Support: Session-Based-Authentication
HTTP/1.1 200 OK
Cache-Control: public,max-age=30
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8
Server: Kestrel
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: http://localhost:4202
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcYWNveFxzb3VyY2VccmVwb3NcY21uLnByb3ZpZGVyLmRhdGFcY21uLnByb3ZpZGVyLmFwaVxhcGlccHJvdmlkZXJzZWFyY2g=?=
Persistent-Auth: true
X-Powered-By: ASP.NET
WWW-Authenticate: Negotiate oRswGaADCgEAoxIEEAEAAACBDX3/vTx/zQAAAAA=
Date: Thu, 24 May 2018 20:50:25 GMT

如果我不得不猜测,我会说后端没有发送CORS头以及错误响应进行编辑。有好的文章/例子吗?也许我需要安装fiddler。。。