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);
    }
  • 相关阅读:
    hdu 2819 Swap
    匈牙利算法
    hdu 1281 棋盘游戏
    hdu 2444 The Accomodation of Students(最大匹配 + 二分图判断)
    hdu 1045 Fire Net(最小覆盖点+构图(缩点))
    Python实现时钟
    挥之不去的DDOS
    随机数
    wchar_t的用法
    Visual Studio函数被警告安全,如何修改
  • 原文地址:https://www.cnblogs.com/lwmp/p/6253501.html
Copyright © 2011-2022 走看看