app.component.ts:
import { Component } from '@angular/core';
import { Http, Response } from '@angular/http';
import 'rxjs/add/operator/map';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'app will work!!';
private apiUrl = 'https://address-book-demo.herokuapp.com/api/contacts';
data: any = {};
constructor(private http: Http){
console.log('hellooooooo');
this.getContacts();
this.getData();
}
getData(){
return this.http.get(this.apiUrl)
.map((res: Response) => res.json())
}
getContacts(){
this.getData().subscribe(data => {
console.log(data);
this.data = data;
})
}
}
我正在尝试点击上面的apiurl并在我的console中获取数据。它工作正常。 但是,当我将网址更改为“https://www.getpostman.com/collections/010e61af1 .......”时,我无法点击它。 (这是交叉问题)。
有一次,我安装了CORS插件,它运行正常。
如果没有CORS插件,我该怎么做呢。
我和postman api合作很新。
答案 0 :(得分:0)
您需要为响应标头添加CORS属性
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization, Content-Length, X-Requested-With');
在nodejs上执行此操作的最简单方法如下:
var cors = require('cors'); app.use(cors());
请查看OAuth 2.0 Token Revocation了解详情