【发布时间】:2018-10-22 21:13:31
【问题描述】:
我一直在使用 RESTful API get() 开发一个 Angular 应用程序。我遇到了一些错误,例如已解决的未授权错误:401。现在我得到了这个错误,这是一种直截了当的错误。我也尝试过添加 CORS 包。
我一直在寻找徒劳的解决方案。我重新编辑了我之前的问题,但似乎没有回应。
my-httpservice.service
import { Injectable } from '@angular/core';
import 'rxjs/add/operator/map';
import { Http, Response, Headers, RequestOptions, URLSearchParams } from
'@angular/http';
@Injectable()
export class MyHttpserviceService {
constructor(private http:Http) {}
server_grid_Get(){
var request = new XMLHttpRequest();
var user = "Root";
var pass = "root";
//Use Basic authentication
request.setRequestHeader("Authorization", "Basic " + btoa(user + ":" + pass));
request.setRequestHeader('Content-Type','application/json');
request.setRequestHeader('Access-Control-Allow-Credential','true');
request.open("GET", "http://192.100.00.000:0000/_db/xxxxx_app/_api/document/wsdl_test/4934434",true);
return this.http.get("http://192.100.00.000:0000/_db/xxxx_app/_api/document/wsdl_test/4934434").map(response => response.json());
request.addEventListener('load', function(event) {
if (request.status >= 200 && request.status < 300) {
console.log(request.responseText);
} else {
console.warn(request.statusText, request.responseText);
}
});
request.send();
}
}
【问题讨论】:
-
我认为您应该在进一步挖掘之前再次阅读 angular 的 http 指南(适用于 v5 angular.io/guide/http)。如果您使用的是 Angular,则不应手动创建您的 XHR。 Angular 会为你做到这一点。在您获得正确的角度代码后,我们将能够更轻松地为您提供帮助
-
@PierreMallet haii..,我会再读一遍。但我使用了这段代码,因为我正在处理 arangoDBs api。完全错了吗?
-
手动创建 XHR 是错误的,除非您完全确定自己在做什么并且 Angular 无法为您处理它:D
标签: angular typescript restful-authentication