c# - Angular 发布请求 Cors 问题
问题描述
当我尝试向 c# web api 发出发布请求时遇到了 CORS 问题。以下是错误:
从源“客户端 url”访问“不同域中的 api url”的 XMLHttpRequest 已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:不存在“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,
推荐阅读
- angular - 如何构建 Spring Boot 微服务
- c - 基于 LinkedList 的队列,创建新队列时不能返回空指针
- influxdb - 这个 influxdb 删除有什么问题?
- discord.py - discord py - 保存用户发布的图像并删除旧图像
- apache - 使用多个查询字符串重写规则
- r - 根据方程获取图
- c# - 如何获取目录中多个文件的 RSA 加密进度
- reactjs - T 的 Typescript 映射类型键,其中值是 V 类型
- javascript - 预期 T,在自定义 Object-Type 的 Vue-Prop 中得到对象
- flutter - 如何使用 cached_network_image 预加载图像?