asp.net/asp.net服务器中的跨域(CORS)错误
我正在开发基于Angular 1/ASP.net技术堆栈的web应用程序。 由于某些原因,我无法使用生产服务器在本地环境上部署api服务器。我在本地env中使用nginx启动了UI端。 登录页面为: 当单击登录按钮时,它将从生产服务器调用API 但我得到了一个错误: 飞行前的响应具有无效的HTTP状态代码400 我在浏览器中打开了跨域选项,带有chrome CORS扩展。 但这一错误似乎与某些CORS问题有关。asp.net/asp.net服务器中的跨域(CORS)错误,asp.net,angularjs,cors,preflight,Asp.net,Angularjs,Cors,Preflight,我正在开发基于Angular 1/ASP.net技术堆栈的web应用程序。 由于某些原因,我无法使用生产服务器在本地环境上部署api服务器。我在本地env中使用nginx启动了UI端。 登录页面为: 当单击登录按钮时,它将从生产服务器调用API 但我得到了一个错误: 飞行前的响应具有无效的HTTP状态代码400 我在浏览器中打开了跨域选项,带有chrome CORS扩展。 但这一错误似乎与某些CORS问题有关。 您想帮我解决这个问题吗?当您使用某些方法(例如POST)时,会出现飞行前请求 它
您想帮我解决这个问题吗?当您使用某些方法(例如POST)时,会出现飞行前请求 它是在跨域POST发生之前自动发生的请求 在发出POST请求之前,正在检查服务器上是否有正确的CORS头 您的飞行前选项请求似乎给出了无效响应。在服务器上,确保为所有选项请求返回200,并确保为所有请求在服务器上放置CORS头 我相信Angular 1也有POST请求的选项,这将阻止飞行前的请求,但您必须自己进一步调查
或者,根据您的设置,可以重写请求以避免仅由浏览器强制执行的CORS。@danday74-感谢您的回复。我有个问题。所以,我认为CORS错误发生在浏览器端,所以服务器的响应在浏览器中是冻结的。这就是为什么我希望如果我在浏览器中启用CORS,它会工作得很好。所以,如果我从本地调用API,服务器上会发生什么?在服务器上启用CORS,确保服务器响应包含所有CORS头。如果服务器未返回正确的CORS响应头,浏览器将出错。另外,确保您的服务器CORS响应头允许飞行前选项请求方法-请参阅“谢谢”。这对我帮助很大。这是我以前不知道的新东西!再次感谢。