当我从邮递员那里调用rest API时,它会给出实际结果,但是当我从角度6开始时,它将返回每个响应作为错误。
this.code=this.codeCollectorForm.value;
let formData: FormData = new FormData();
formData.append('value', this.code.value);
formData.append('input', this.code.input);
this.httpclient.post("http://localhost:8000/onlineide/runcode",formData).subscribe(
(data) => {
$('#output').val("okk");
}, error => {
$('#output').val("Not okk");
}
);
一切都被接受为错误。有什么解决办法吗? 始终显示的错误是
Http failure response for http://localhost:8000/onlineide/runcode: 0 Unknown Error
enter code here
答案 0 :(得分:1)
当您遇到跨源问题时,可能会发生这种情况。交叉源是由客户端(通过浏览器)强制执行的操作。邮递员不受此影响的原因是,邮递员默认情况下忽略交叉源来进行呼叫。
如果您的后端是一种可以从多个客户端使用的静态服务,则可以在后端启用CORS。
但是,如果您打算仅从一个客户端使用它,则最好避免访问不相关的来源(不启用CORS),在这种情况下,您应该在相同的来源上使用角度应用程序。为了发展,您仍然可以在本地之间分别为后端和前端服务,https://github.com/angular/angular-cli/blob/master/docs/documentation/stories/proxy.md