无法从本地主机调用 API:4200 - 角度



我正在做一个 Angular 项目。我需要从 Angular 应用程序测试 API 调用,但它不起作用。它返回我错误,

访问 XMLHttpRequest at 'http://...../api/v1/user/authen' 来自 origin "http://localhost:4200"已被 CORS 策略阻止:对 预检请求未通过访问控制检查:它没有 HTTP 正常状态。

在服务器上已经设置了访问控制允许原点:"*">

我还制作了一个简单的html + Jquery文件来测试调用API,它运行良好。

function callApi(){
$.ajax({
type: "POST",
url: 'http://..../api/v1/user/authen',
data: {
"user": "admin",
"password": "123456"
},
success: function(data){
console.log(data);
},
});
}

但是从 Angular APP 我仍然收到错误。我需要在 Angular 应用程序上专门设置什么吗?

这可能是服务器本身的问题,它不允许访问 API 表单localhost:4200.您可以通过禁用谷歌浏览器安全性来运行您的应用,并尝试点击 API。

打开在Windows计算机中运行并粘贴以下链接以禁用Web安全性,然后尝试点击API。

"C:Program Files (x86)GoogleChromeApplicationchrome.exe"
--disable-web-security --user-data-dir="C:tmpChromeSession"

我不太明白,但我通过将JSON.stringify((添加到有效负载来解决它。

login(credential) : Observable<any> {
return this.http.post<any>( 
this.baseUrl + '/user/authen', JSON.stringify(credential)
)
.pipe( 
map( res => res ),
catchError( this.handleError )
);
}

相关内容

最新更新