关于.Net Core 前后端分离跨域请求时 ajax并发请求导致部分无法通过验证解决办法。

项目中有这样一个页面。页面加载的时候会同时并发6个ajax请求去后端请求下拉框。

这样会导致每次都有1~2个“浏览器预请求”不通过。

浏览器为什么会自动发送“预请求”?请看以面连接

https://blog.csdn.net/charleslei/article/details/51906635

那么解决办法无非就是尽量避免发送“预请求”。

后来经过反复测试发现“预请求”可以通过设置Access-Control-Max-Age来缓存。

在.Net Core 中我们可以通过如下代码设置缓存:

public void ConfigureServices(IServiceCollection services)
        {
            //配置跨域访问
            var urls = Configuration.GetSection("AllowCors:AllowAllOrigin").Value.Split(‘,‘);
            services.AddCors(options =>
            {
                options.AddPolicy("AllowAllOrigin", builder =>
                {
                    builder.WithOrigins(urls).AllowAnyMethod().AllowAnyHeader().AllowCredentials().SetPreflightMaxAge(TimeSpan.FromSeconds(1728000));
                });
            });

            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
        }

使用

SetPreflightMaxAge方法设置即可。单位为秒

原文地址:https://www.cnblogs.com/weiweithe/p/9767904.html

时间: 2024-08-04 02:28:58

关于.Net Core 前后端分离跨域请求时 ajax并发请求导致部分无法通过验证解决办法。的相关文章

前后端分离跨域问题解决方案

问题 因为最近在学习vue和springboot.用到了前后端分离.前端webpack打包运行的时候会启动nodejs的服务器占用8080端口,后端springboot自带tomcat启动占用1111端口(我自己设置的)...导致前端请求的ajax到后台会产生跨域问题...然后自己试了试发现有2种办法都可以解决. 利用SpringMVC @CrossOrigin注解 1 package com.labofjet.system.controller; 2 3 import org.slf4j.Lo

Django前后端分离跨域请求问题

一.问题背景 之前使用django+vue进行前后端分离碰到跨域请求问题,跨域(域名或者端口不同)请求问题的本质是由于浏览器的同源策略导致的,当请求的响应不是处于同一个域名和端口下,浏览器不会接受响应,同源策略也是浏览器针对请求的安全问题所作出的一种保护行为.针对跨域问题,可以有下面的解决方式: JSONP方式 自定义中间件,设置响应头 使用django-cors-headers包 二.解决方式 (一)自定义中间件 JSONP本质上是利用html的一些不受同源策略影响的标签属性src,例如:<a

node与vue结合的前后端分离跨域问题

第一点:node作为服务端提供数据接口,vue使用axios访问接口, 安装axios npm install axios --save 安装完成后在main.js中增加一下配置: import axios from 'axios'; axios.defaults.withCredentials=true Vue.prototype.$axios = axios; main.js全部配置如下: import Vue from 'vue' import App from './App' impor

llaravel 前后端分离跨域问题

使用 laravel-cors 实现 Laravel 的跨域配置 一.需求 一个项目需要进行前端跨域,不适用 jsonp. 因此需要进行 cors 的设置. 最开始的时候,我使用的是路由中间件的方式,但是发现中间件不起作用. // 路由中间件 public function handle($request, Closure $next) { $response = $next($request); $response->header('Access-Control-Allow-Origin',

nginx配置反向代理解决前后端分离跨域问题

摘自<AngularJS深度剖析与最佳实践>P132 nginx配置文件如下: server { listen 80; server_name your.domain.name; location / { # 把跟路径下的请求转发给前端工具链(如gulp)打开的开发服务器 # 如果是产品环境,则使用root等指令配置为静态文件服务器 proxy_pass http://localhost:5000/; } location /api/ { # 把 /api 路径下的请求转发给真正的后端服务器

springboot+angular4前后端分离 跨域问题

springboot中新增一个过滤器如下: package com.rtpksps.kss.config;import org.springframework.stereotype.Component;import javax.servlet.*;import javax.servlet.http.HttpServletResponse;import java.io.IOException; /** * @author Administrator * @title: OriginFilter *

springboot前后端分离跨域

@Configurationpublic class CrossConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedOrigins("*") .allowCredentials(true) .allowedMethods("GET"

.NET Core前后端分离快速开发框架(Core.3.0+AntdVue)

.NET Core前后端分离快速开发框架(Core.3.0+AntdVue) 目录 引言 简介 环境搭建 开发环境要求 基础数据库构建 数据库设计规范 运行 使用教程 全局配置 快速开发 管理员登录 系统用户管理 系统角色管理 权限管理 接口秘钥管理 系统日志 单库事务 跨库事务 读写分离分库分表 常见疑问 如何进行联表查询 如何切换数据库类型 如何使用多个数据库 引言 时间真快,转眼今年又要过去了.回想今年,依次开源发布了Colder.Fx.Net.AdminLTE(254Star).Cold

前后端分离跨服务器文件上传-Java SpringMVC版

近来工作上不上特别忙,加上对后台java了解一点,所以就抽时间,写了一个java版本的前后端分离的跨服务器文件上传功能,包括前后端代码. 一.Tomcat服务器部分 1.Tomcat服务器 单独复制一份Tomcat,用来作为文件服务器 1.1 xml文件: 需要在该Tomcat的conf目录下的web.xml文件的大概100行添加如下部分: 1.2 server.xml文件: 需要在该Tomcat的conf目录下的server.xml文件做一些端口的修改 1.3 Tomcat下建立文件夹 在该T