Javascript 使用Google Chrome浏览器在本地主机上禁用选项请求?
我正在做一个使用两个不同集合的项目,前端和后端 每次我刷新页面时,它都会调用后端(localhost)来加载数据,但每次都会重做一个选项请求,以确保正确设置CORS 由于它是本地主机,我想知道是否有可能告诉Chrome“别担心,我知道这个源代码,你不必检查它”,或者只是“检查它,但要快”,因为每次(出于某种原因,我无法确定)选项请求都需要大约13(!!!!)秒,每次我点击刷新,这非常烦人Javascript 使用Google Chrome浏览器在本地主机上禁用选项请求?,javascript,google-chrome,cors,Javascript,Google Chrome,Cors,我正在做一个使用两个不同集合的项目,前端和后端 每次我刷新页面时,它都会调用后端(localhost)来加载数据,但每次都会重做一个选项请求,以确保正确设置CORS 由于它是本地主机,我想知道是否有可能告诉Chrome“别担心,我知道这个源代码,你不必检查它”,或者只是“检查它,但要快”,因为每次(出于某种原因,我无法确定)选项请求都需要大约13(!!!!)秒,每次我点击刷新,这非常烦人 我试图禁用web安全,但这不会改变任何事情。如果我们使用的是.Net应用程序,我们通常在global.asa
我试图禁用web安全,但这不会改变任何事情。如果我们使用的是.Net应用程序,我们通常在global.asax文件中执行此操作 在global.asax文件中,我们获取options头并用合适的头替换它 允许CORS支持 因此,在您的情况下,也必须从API(服务端)端提供支持
我尝试了你的方法,希望最大年龄是解决方案,但它不会改变任何事情/你能告诉我你在哪个站台试这个吗?我的意思是服务是托管在.Net或其他一些语言上的,服务是用哪种语言编写的?我开始相信问题不在于这个实现,而是我使用的服务器框架(Flask,Python),它似乎需要时间来加载第一个请求……对不起,我的朋友,我不知道Python,这在.Net平台上对我很有用。你试过这个链接吗?谢谢你的帮助。我知道,我相信它位于前端,因为无论我在哪里加载页面,都需要很长的时间,一旦第一批请求加载完毕(大约18秒后!),一切都会很快完成。服务器永远不会重新启动,它与我正在加载的页面无关,即使是像GET或POST这样简单的登录也需要很长时间!
protected void Application_BeginRequest(object sender, EventArgs e)
{
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin",
"*");
if (HttpContext.Current.Request.HttpMethod == "OPTIONS")
{
HttpContext.Current.Response.AddHeader("Cache-Control",
"no-cache");
HttpContext.Current.Response.AddHeader(
"Access-Control-Allow-Methods",
"GET, POST");
HttpContext.Current.Response.AddHeader(
"Access-Control-Allow-Headers",
"Content-Type, Accept");
HttpContext.Current.Response.AddHeader("Access-Control-Max-Age",
"1728000");
HttpContext.Current.Response.End();
}
}