我的组件文件:
import { Component , OnInit } from '@angular/core';
import {Http , Response} from '@angular/http';
import { FormGroup , FormBuilder, Validators } from '@angular/forms';
import 'rxjs/add/operator/map';
@Component({
selector: 'app-banner' ,
templateUrl:'./banner.component.html' ,
})
export class BannerComponent
{
url: string = "http://localhost/demos/items.php";
data = [];
complexForm : FormGroup;
constructor(fb: FormBuilder , private http:Http) {
this.complexForm = fb.group({
'firstName' : [null, Validators.required]
})
}
onSubmit(value: any ){
this.http.post(this.url ,JSON.stringify(value) ).map((res:Response) => res.json() ).subscribe(ans => {
this.data = ans;
console.log(this.data);
});
}
}
在angular2中我得到了这样的错误:
无法加载http://localhost/demos/items.php:否'访问控制 - 允许 - 来源'标头出现在请求的资源上。起源' http://localhost:4200'因此不允许访问。
答案 0 :(得分:0)
您可以尝试在后端Web服务的响应标头中添加Access-Control-Allow-Origin
例如:
resp.setHeader('Access-Control-Allow-Origin','*')
然后将响应返回给角度客户端。
此处提供更多信息: