webapi+ajax跨域问题及cookie设置

最近小玩了点东西,发现简单的东西总能遇到点问题

1.webapi跨域设置

[EnableCors(origins: "*", headers: "*", methods: "*", SupportsCredentials = true)]

ApiControl{。。。}

这样大概就能跨域了

2.跨域完成了,发现cookie后端接收不到,咋整?

莫急,ajax请求的时候设置,记得服务端要设置(SupportsCredentials = true)

xhrFields: {
withCredentials: true
}

3.可以了,后台也能取到cookie了,然而天不随人愿,新的问题诞生了,ajax请求直接报错了,咋整?

那就在服务端设置一下origins吧,设成请求页的地址http://localhost:26467

[EnableCors(origins: "http://localhost:26467", headers: "*", methods: "*", SupportsCredentials = true)]

切记:origins不能用*,如果出现多个并包含*的那就找出来哪里有*并干掉,比如IIS中部署项目的http响应标头,千万要记得

原文地址:https://www.cnblogs.com/CuiRicky/p/10098954.html