我正在尝试使用API URL.我用以下代码调用API.
import {HttpClient, HttpClientModule, HttpParams} from "@angular/common/http";
@Injectable()
export class PropertyPrefService {
constructor(private http: HttpClient,
private configurationService:Configuration) {}
public searchProjects(propFilter:string):any{
let temp:any;
const options = propFilter ?
{
params: new HttpParams().set('query', propFilter)
} : {};
return this.http.get<any>(this.configurationService.propertySystemApiUrl, options)
.subscribe((results:any) => {
console.log(results);
});
}
Run Code Online (Sandbox Code Playgroud)
在Angular代码中,我没有得到任何响应,并且收到错误:
(未知网址)的Http失败响应:0未知错误".
但是,当我在Chrome上打开开发人员工具时发出请求时,我看到响应是从服务器收到的.
URL是"https:// ..."URL而不是"http:// ...".
我正在Angular 4中编写一个Authguard,以防止在没有登录的情况下访问路由.但是,我收到了这个错误.以下是Authgaurd和Routing in App模块中的代码.请帮助解决问题.
// Authgaurd代码
import { ActivatedRouteSnapshot, CanActivate, Route, Router,
RouterStateSnapshot } from '@angular/router';
import { Store } from '';
import { Observable } from 'rxjs/Observable';
import { map, take } from 'rxjs/operators';
import { Observer } from 'rxjs';
import { Globals } from '../../app.global';
import { CRMStorageService } from '../services/storage.service';
import 'rxjs/add/operator/take';
@Injectable()
export class AuthGuard implements CanActivate {
constructor(private router: Router,private storageService: StorageService) {
}
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot):
Observable<boolean> {
return this.storageService.getItem(Globals._CURRENT_USER_KEY).take(1).map
(token => { …Run Code Online (Sandbox Code Playgroud)