我如何使用 angular 2 请求数据
How can i use angular 2 request data
当我们将包含 JSON 内容的数据发送到外部 api 时,会发生 Access-Control-Allow-Origin
错误。这个问题的解决方法是使用x-www-form-urlencoded content
。
有没有办法用 JSON 代替?
JSON内容:
this.http.post('/api/login', {
email: email,
password: pass
}).map(res => res.json())
.subscribe(response => {
console.log(response);
} , error => console.error(error));
}
x-www-form-urlencod
:
this.headers.append('Content-Type', 'application/x-www-form-urlencoded');
this.options = new RequestOptions({ headers: this.headers, method: 'post'});
return this.http.post('/api/login', "email=info@mail.com&password=123", this.options )
.map(res => res.json())
.map(user => {
if (user) {
console.log(user);
}
return !!user ;
});
}
其他解决方案:
1.install Chrome
中的访问控制允许来源扩展
2.lunch web api in localhost bu 正在寻找另一种方式
3.enable IIS7 上的 CORS
但问题没有解决!
网络配置:
<httpProtocol> <customHeaders> <add name="Access-Control-Allow-Origin" value="*" /> </customHeaders> </httpProtocol>
WebApi配置:
EnableCorsAttribute cors = new EnableCorsAttribute("*", "*", "GET,POST,PUT,DELETE");
config.EnableCors(cors);
当我们将包含 JSON 内容的数据发送到外部 api 时,会发生 Access-Control-Allow-Origin
错误。这个问题的解决方法是使用x-www-form-urlencoded content
。
有没有办法用 JSON 代替?
JSON内容:
this.http.post('/api/login', {
email: email,
password: pass
}).map(res => res.json())
.subscribe(response => {
console.log(response);
} , error => console.error(error));
}
x-www-form-urlencod
:
this.headers.append('Content-Type', 'application/x-www-form-urlencoded');
this.options = new RequestOptions({ headers: this.headers, method: 'post'});
return this.http.post('/api/login', "email=info@mail.com&password=123", this.options )
.map(res => res.json())
.map(user => {
if (user) {
console.log(user);
}
return !!user ;
});
}
其他解决方案:
1.install Chrome
中的访问控制允许来源扩展
2.lunch web api in localhost bu 正在寻找另一种方式
3.enable IIS7 上的 CORS
但问题没有解决!
网络配置:
<httpProtocol> <customHeaders> <add name="Access-Control-Allow-Origin" value="*" /> </customHeaders> </httpProtocol>
WebApi配置:
EnableCorsAttribute cors = new EnableCorsAttribute("*", "*", "GET,POST,PUT,DELETE");
config.EnableCors(cors);