加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ajax跨域问题

发布时间:2020-12-15 21:33:05 所属栏目:百科 来源:网络整理
导读:什么是跨域? 当A向B发起一个请求时,A和B之间,ip,端口,请求协议这三者只要有一个不同,那么就是跨域。一般情况下跨域是无法正常访问的。那么有时候就是想要跨域,那么怎么办呢? 解决方案 使用JSONP(此处不具体说明) 使用过滤器,在返回的http中加上一

什么是跨域?

当A向B发起一个请求时,A和B之间,ip,端口,请求协议这三者只要有一个不同,那么就是跨域。一般情况下跨域是无法正常访问的。那么有时候就是想要跨域,那么怎么办呢?

解决方案

  1. 使用JSONP(此处不具体说明)
  2. 使用过滤器,在返回的http中加上一个header,具体如下:
package com.webside.shiro.filter;


import javax.servlet.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/** * Created by Administrator on 2016/5/16. */
public class AccessFilter implements Filter {
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {

    }

    @Override
    public void doFilter(ServletRequest servletRequest,ServletResponse servletResponse,FilterChain filterChain) throws IOException,ServletException {
        HttpServletResponse response = (HttpServletResponse)servletResponse;
        response.addHeader("Access-Control-Allow-Origin","*");
        filterChain.doFilter(servletRequest,servletResponse);
    }

    @Override
    public void destroy() {

    }
}

上面代码中的*表示允许所有的目标来跨域访问。我们也可以用一个具体的域名来代替它,表示只有这个域名下的请求才允许跨域、

提示:记得在web.xml中配置这个filter

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读