[英]Angular Post Request Cors issue
当我尝试向c#web api发布请求时,我收到了CORS问题。 以下是错误:
CORS策略阻止了对来自“客户端URL”的“不同域中的api url”的XMLHttpRequest的访问:对预检请求的响应未通过访问控制检查:没有“Access-Control-Allow-Origin”标头出现在请求的资源。
与GET请求相同的API调用正在运行。
两个站点都部署启用了Windows身份验证。
我正在使用Angular io,1.7。**和打字稿。 下面是我用打字稿中的post请求调用api的方法。
let httpHeader = new HttpHeaders();
httpHeader = httpHeader.set('Content-Type', 'application/json');
this.http.post(this.apiUrl, this.bodyObject,
{
headers: httpHeader,
withCredentials:true
}).pipe(map(response => {
return response;
})).subscribe(result => {
console.log(result);
}, function (err) {
console.log(err);
});
我首先想到它可能是api cors问题,并使用下面的jquery代码进行测试,它正在运行。
<script>
$.ajax({
url:apiUrl,
type: 'post',
data: {
serviceName: "Country"
},
xhrFields: {
withCredentials: true
},
dataType: 'json',
success: function (data) {
console.info(data);
},
error: function (err) {
console.error(err);
}
});
</script>
所以我想,我与我的角度代码有关。 你能不能突出我可能是什么问题。
尝试在$ .ajax中添加它
headers: {
'Access-Control-Allow-Origin': '*',
'Content-Type':'application/json'
},
crossDomain: true,
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.