zoukankan      html  css  js  c++  java
  • restful风格下的ajax跨域问题的解决

    Ajax跨域请求时,如果设置Header的ContentType为application/json,会分两次发送请求
    一次先发送Method为OPTIONS的请求到服务器,这个请求会询问服务器支持哪些请求方法(GET,POST等)
    一次先发送Method为OPTIONS的请求到服务器,这个请求会询问服务器支持哪些请求方法(GET,POST等)
    等到这个请求返回后,如果原来我们准备发送的请求符合服务器的规
    则,那么才会继续发送第二个请求

    protected boolean preHandle(ServletRequest servletRequest, ServletResponse servletResponse) throws Exception {
      HttpServletRequest request = (HttpServletRequest) servletRequest;
      HttpServletResponse response = (HttpServletResponse) servletResponse;
      if (request.getMethod().equals(RequestMethod.OPTIONS.name())) {
      response.setStatus(HttpStatus.OK.value());
      response.addHeader("Access-Control-Allow-Origin", "*");
      response.addHeader("Access-Control-Allow-Methods", "GET, POST, DELETE, PUT, OPTIONS, TRACE, HEAD, PATCH");
      response.addHeader("Access-Control-Allow-Headers", "Content-Type, Authorization");
      return false;
    }
      return super.preHandle(request, response);
    }
  • 相关阅读:
    LeetCode 12. 整数转罗马数字
    [Python] for in range()使用以及列表字符串反转方法
    组合数问题
    「BJOI2020」封印
    数据结构优化建图
    小Q与找茬
    无旋Treap学习
    jzoj5679
    数星星
    凸性
  • 原文地址:https://www.cnblogs.com/lwmp/p/6253501.html
Copyright © 2011-2022 走看看