Skip to main content
 首页 » 编程设计

c#之消除 ASP.NET 网站和 ASP.NET WebAPI 的跨域/子域 OPTIONS 请求

2024年02月20日30cmt

我有一个 ASP.Net MVC 4 网站 和另一个 ASP.Net Web API 项目。目前两者都托管在不同的域上。我正在使用 amplify .js 在我的前端使用 API。由于两个网站都托管在不同的域上,所以当我从 UI 调用我的 API 时,它总是一个跨域请求(为此,我正在使用 CORS。这会导致我对每个 HTTP API 调用产生额外的 OPTIONS 请求,这会增加开销。我还尝试在子域上托管这两个网站,但仍然存在 OPTIONS 请求,我想摆脱这些额外的请求。

有什么方法可以消除 OPTIONS 请求吗?

请您参考如下方法:

Is there any way by which i can eliminate the OPTIONS request?

你可以使用 JSONP而不是 CORS。不幸的是,这可能不足以满足您的场景,因为 JSONP 仅适用于 GET 请求(jQuery 的 $.ajax 方法有此限制)。

或者,如果您在同一域中托管 2,并且您没有违反 same origin policy ,您可以使用普通的 AJAX 请求。