【发布时间】:2017-06-26 11:56:51
【问题描述】:
我正在开发一个 Angular 4 Web 应用程序,当我尝试向远程服务器请求数据时遇到了一些问题:
XMLHttpRequest 无法加载 https://viacep.com.br/ws/39400001/json/。预检响应中的 Access-Control-Allow-Headers 不允许请求标头字段授权。
在你说这是服务器中的 CORS 问题(我不是服务器所有者)之前,我应该说使用 Insomnia 之类的程序的请求就像一个魅力,我在 AngularJS 1.x 中有一个可以工作的代码使用相同的服务器和几乎相同的代码。如果您查看 chrome 控制台,您将看到服务器使用预期数据响应请求:
我真的相信我忘记了 Angular 配置或我的请求中的某些内容:
@Injectable()
export class ViaCepService {
constructor(private http:Http) {
}
find(cep:string):Observable<ViaCepResponse> {
return this.http.get("https://viacep.com.br/ws/" + cep + "/json/").map((res:Response) => {
return res.json();
});
}
}
为什么会这样?
【问题讨论】:
-
所以您收到了 CORS 错误,但您声称它正在工作?
-
:) 我将重新制定这部分...
-
我更新了问题。我这样说是因为我相信问题不在于服务器,而在于客户端。我在 AngularJS 1.x 中有另一个代码可以正常发出相同的请求。
标签: javascript angular get