【发布时间】:2017-11-15 10:35:32
【问题描述】:
我正在尝试从 ReST Micro 服务获取数据,该服务通过其端点以 JSON 格式( [{"username":"Mark","password":"mark123"}] )为我提供数据(用户名和密码) "http://localhost:8080/checkUsers"
我在 Angular 2 中创建了一个简单的应用程序,其中包含 userdetail.component.ts 文件和 user.service.ts,它从我的应用程序 assets 文件夹中的 apidata 文件夹中的 userdata.json 文件中获取数据
下面是我的代码
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { Injectable } from '@angular/core';
import { HttpModule } from '@angular/http';
import { Http, Response} from '@angular/http';
import { AppComponent } from './app.component';
import { UserListComponent } from './user-list.component';
import { UserDetailComponent } from './user-detail.component';
import { UserService } from './user.service';
@NgModule({
declarations: [
AppComponent,
UserListComponent,
UserDetailComponent
],
imports: [ BrowserModule, HttpModule ],
providers: [UserService],
bootstrap: [AppComponent]
})
export class AppModule { }
app.component.ts
import { Component } from '@angular/core';
import { UserService } from './user.service';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
providers: [UserService]
})
export class AppComponent {
title = '';
}
app.component.html
<user-detail></user-detail>
user-detail.component.ts
import { Component, OnInit } from '@angular/core';
import { UserService } from './user.service';
@Component({
selector: 'user-detail',
template: `<h4>User Details</h4>'
<ul *ngFor=" let user of users ">
<li>username={{user.username}}-------password={{user.password}}</li>
</ul>`
})
export class UserDetailComponent implements OnInit{
users = [];
constructor(private _userService:UserService){}
ngOnInit(){
this._userService.getUsers()
.subscribe(resUserData => this.users = resUserData);
}
}
user.service.ts
import { Injectable } from '@angular/core';
import { Http, Response} from '@angular/http';
import 'rxjs/add/operator/map';
@Injectable()
export class UserService {
private _url: string = "http://localhost:4200/assets/apidata/userdata.json"
constructor(private _http: Http){}
getUsers(){
return this._http.get(this._url)
.map((response:Response) => response.json() );
}}
请任何人指导我在我的 Angular 2 应用程序中从 ReST 微服务获取数据的过程。
【问题讨论】:
-
错误是什么?
-
没有错误,但我想从 ReST 微服务获取数据。我需要指导,以便如何从该 ReST 端点获取数据到我的 Angular 应用程序中。
-
我猜你试图将
_url值替换为http://localhost:8080/checkUsers对吧? -
是的,我刚刚替换了网址
-
我在控制台中收到此错误...“无法加载localhost:8080/checkUsers:请求的资源上不存在'Access-Control-Allow-Origin'标头。来源'localhost:4200 ' 因此不允许访问。”
标签: angular spring-boot