【发布时间】:2019-10-25 22:32:33
【问题描述】:
我有一个使用 web api 的 web 客户端。 这是我的要求:
let peticion = {
attr1: "0000000047",
attr2: "070101201"
};
$.ajax({
type: "POST",
url:"http://161.168.1.33:1210/api/Trabajador/ElTrabajadorYaHaSidoRequeridoEnEsteLocal",
data: JSON.stringify(peticion),
contentType: "application/json; charset=utf-8",
crossDomain: true,
dataType: "json",
success: function (data, status, jqXHR) {
},
error: function (jqXHR, status) {
}
}).then(function (respuesta) {
});
在 API CONTROLLER 中启用了 Cors,据我所知,该代码行启用一切 (*) 但它仅适用于简单请求,不适用于预检请求。
[EnableCors(origins: "*", headers: "*", methods: "*")]
所以我得到了接下来的两个错误:
选项 http://161.168.1.33:1210/api/Trabajador/ElTrabajadorYaHaSidoRequeridoEnEsteLocal404(未找到)
http://161.168.1.33:1210/api/Trabajador/ElTrabajadorYaHaSidoRequeridoEnEsteLocal:对预检请求的响应未通过访问控制检查:否
请求中存在“Access-Control-Allow-Origin”标头
资源。因此不允许使用原点“http://localhost:51939”
访问。
我错过了什么吗?为什么 web api 不处理预检请求?
【问题讨论】:
-
您错过了 IIS 具有 CORS 模块的事实,docs.microsoft.com/en-us/iis/extensions/cors-module/…
-
仍然无法正常工作,我从 webconfig 配置了 IIS cors 模块,但我得到这个“预检响应没有 HTTP ok 状态。”
标签: asp.net-mvc iis cors