使用Google Chrome浏览器停用localhost上的OPTIONS请求?

时间:2014-05-09 07:22:13

标签: javascript google-chrome cors

我正在开发一个使用两个不同集合的项目,即前端和后端。

每次刷新页面时,它都会调用后端(也称为localhost)来加载数据,但每次重做OPTIONS请求都会使CORS设置正确。

由于它是本地主机,我想知道是否有可能告诉Chrome"不要担心,我知道这个来源,你没有检查它",或只是"检查它,但快速"因为每次(并且由于某种原因我无法确定),OPTIONS请求大约需要13(!!!!)秒,每当我点击刷新时,它都非常烦人。

我尝试--disable-web-security,但这并没有改变任何事情。

1 个答案:

答案 0 :(得分:2)

如果我们有.Net应用程序,我们通常会在global.asax文件中执行此操作 在global.asax文件中,我们获取选项标头并将其替换为合适的标头 允许CORS支持。

因此,在您的情况下,也必须从API(服务端)结束提供支持。

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();
            }
        }