碰到了跨域问题, Redirect is not allowed for a preflight request

liubx

  • 后端配置:
@Configuration
public class CorsConfigure implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOrigins("*")
                .allowedMethods("GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS")
                .allowCredentials(true)
                .maxAge(3600)
                .allowedHeaders("*");
    }
}

  • 然后前端的 OPTIONS 预请求有 302 问题。后台添加拦截器放行所有的 OPTIONS 方法
@Component
public class CorsInterceptor implements HandlerInterceptor {

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
        response.setHeader("Access-Control-Allow-Origin", request.getHeader("origin"));
        response.setHeader("Access-Control-Allow-Credentials", "true");
        response.setHeader("Access-Control-Allow-Methods", "GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS");
        response.setHeader("Access-Control-Max-Age", "86400");
        response.setHeader("Access-Control-Allow-Headers", "*");

        // 如果是 OPTIONS 则结束请求
        if (HttpMethod.OPTIONS.toString().equals(request.getMethod())) {
            response.setStatus(HttpStatus.NO_CONTENT.value());
            return false;
        }
        return true;
    }
}
  • 但是这个 OPTIONS 没有挟带 cookie,被 shiro 框架拦截了。请问是因为 OPTIONS 方法没有挟带 cookie 导致的吗? 后台还需不需要做什么处理?
当列不存在时,查询中的“列” IS NOT NULL不会引发错误 - php

在我的PHP单元测试中,我使用的是SQLite内存数据库,该数据库包含下表:CREATE TABLE "battlegroup_request" ( "id" INTEGER NULL PRIMARY KEY AUTOINCREMENT, "battlegroupID" INTEGER NULL, …

诡异的 TypeError: 'str' object is not callable

among:logger.error('read file %s error %s' % (jsonfile, str(traceback.format_exc())) TypeError: 'str' object is not callable 看不处理哪里有问题,有时候运行的时候是好的,有时候又报这个错,诡异了。hahastudio:感觉像是有地方把 …

用Java编写Soap Request - java

我有一个wsdl文件和一个有关Web服务提供商的每个请求和响应中所有元素的详细文档。我的工作是撰写约40个请求并解析相应的响应。更具体地说,我们的平台提交请求并从服务中获取响应,因此对于我来说,作为应用程序开发人员,我只需要编写soap请求并将它们作为String传递给平台。我也从平台获得String的响应。我尝试了StringBuilder,但是看起来很原…

感觉用 Material for MkDocs 写文档的项目突然多了起来?

DeweyReed:RTDeweyReed:不能 APPEND 只能回复了: https://squidfunk.github.io/mkdocs-material/

JavaScript陷入了Selenium for Python的泥潭 - javascript

因此,当您向下滚动页面时,我想抓取一个使用JavaScript / AJAX生成其他结果的网站。我正在将Python 3.7与Selenium Chrome无头运行。但是,随着抓取的进行,您最终将获得数量不断增加的代码,这会使我的机器运行缓慢,直到停止为止。甚至简单的操作-code = driver.page_source –生长需要几秒钟。我运行了一个测试…