精华内容
下载资源
问答
  • 一、springboot 与前端交互 已拦截跨源请求火狐报错:谷歌报错:具体症状: 确定前端没问题解决方式RestController @RequestMapping("/infoUsers") @CacheConfig(cacheNames = "infoUsers") //...

    1. 微服务配置跨域+zuul不配置=有跨域问题
    2. 微服务配置+zuul配置=有跨域问题
    3. 微服务不配置+zuul不配置=有跨域问题
    4. 微服务不配置+zuul配置=ok
    所以现在解决方案是不加跨域解决,交给zuul配置

    一、springboot 与前端交互  已拦截跨源请求

    火狐报错:

    谷歌报错:



    具体症状: 确定前端没问题


    解决方式


    RestController
    @RequestMapping("/infoUsers")
    @CacheConfig(cacheNames = "infoUsers")
    //就是一个注解的事 
    
    @CrossOrigin
    public class InfoUserController { @Autowired InfoUserService infoUserService; @ApiOperation(value = "getInfoUserList", notes = " 查询对象用户") @RequestMapping(value = "/getInfoUserList", method = RequestMethod.GET) public ResultVO<String> getInfoUserList(InfoUser infoUser){ List<InfoUser> infoUsers = infoUserService.getInfoUserList(); System.out.println("数据库信息++++++++++++"+infoUser); return ResultVOUtil.success(infoUsers); } /* *修改InfoUser */ @ApiOperation(value = "updateInfoUser", notes = "修改对象用户") @RequestMapping(value = "/updateInfoUser", method = RequestMethod.GET) public ResultVO<String> updateInfoUser(InfoUser infoUser){ int i = infoUserService.updateInfoUser(infoUser); if (i == 1){ return ResultVOUtil.success(infoUser); }else { return ResultVOUtil.error("修改失败"); } } /* *增加InfoUser */ @ApiOperation(value = "addInfoUser", notes = "增加对象用户") @RequestMapping(value = "/addInfoUser", method = RequestMethod.GET) public ResultVO<String> AddInfoUser(InfoUser infoUser){ int i = infoUserService.addInfoUser(infoUser); if (i == 1){ return ResultVOUtil.success(infoUser); }else { return ResultVOUtil.error("增加失败"); } } /* *删除InfoUser */ @ApiOperation(value = "deleteInfoUser", notes = "删除对象用户") @RequestMapping(value = "/deleteInfoUser", method = RequestMethod.GET) public ResultVO<String> deleteInfoUser(InfoUser infoUser){ int i = infoUserService.deleteInfoUser(infoUser); if (i == 1){ return ResultVOUtil.success(infoUser); }else { return ResultVOUtil.error("删除失败"); } }}

       //获取列表数据
            var dataUrl = 'http://127.0.0.1:8085/infoUsers/getInfoUserList';
            $.get(dataUrl,function (json) {
                var html ='';
                tableArr = json.data;
                for(var i =0;i<json.data.length;i++){
                    var data = json.data[i];
                    html+='<tr><td class="indeX">'+ (i+1) +'</td><td>'+ data.name+'</td><td>'+ data.sex +'</td><td>'+ data.address +'</td><td>'+ data.phone +'</td><td>'+ data.age +'</td><td>'+ data.email +'</td><td><a href="#" class="editBtn btn btn-primary btn-sm" data-toggle="modal" data-target="#edit">编辑</a><a href="#" class="delBut btn btn-primary btn-sm" >删除</a></td></tr>'
                }
                $('tbody').append(html);
            })

    跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器施加的安全限制。

    所谓同源是指,域名,协议,端口均相同,不明白没关系,举个栗子:

    http://www.123.com/index.html 调用 http://www.123.com/server.php (非跨域)

    http://www.123.com/index.html 调用 http://www.456.com/server.php (主域名不同:123/456,跨域)

    http://abc.123.com/index.html 调用 http://def.123.com/server.php (子域名不同:abc/def,跨域)

    http://www.123.com:8080/index.html 调用 http://www.123.com:8081/server.php (端口不同:8080/8081,跨域)

    http://www.123.com/index.html 调用 https://www.123.com/server.php (协议不同:http/https,跨域)

    请注意:localhost和127.0.0.1虽然都指向本机,但也属于跨域。

    浏览器执行javascript脚本时,会检查这个脚本属于哪个页面,如果不是同源页面,就不会被执行。

    http://127.0.0.1:8085/infoUsers/getInfoUserList
      是一个url,这个地址是后台的一个action,我们在前端的服务器中要请求的这个action,这就是跨域请求,实现跨域请求的第一步是后台代码要允许跨域,这里我们最简单的方法是使用springMVC的注解 @CrossOrigin(origins = "*", maxAge = 3600)  ,这里要强调的是springMVC的版本要在4.2或以上版本才支持@CrossOrigin,我这里的设置是允许所有跨域访问,也可以单独指定允许的服务器跨域(设置origin的值便可)。


    展开全文
  • 已拦截跨源请求:同源策略禁止读取位于 http://47.55.32.128:8081/abj_api/Login/GetRoleFunctions?roleId=800 的远程资源。(原因:CORS 请求未能成功)。 web.config配置 <system.webServer> <modules ...

    已拦截跨源请求:同源策略禁止读取位于 http://47.55.32.128:8081/abj_api/Login/GetRoleFunctions?roleId=800 的远程资源。(原因:CORS 请求未能成功)。

    后台接口提供方需要做如下修改:

    Global.asax配置,添加如下方法

      protected void Application_BeginRequest(object sender, EventArgs e)
            {
                System.Web.HttpApplication app = sender as System.Web.HttpApplication;
                HttpResponse response = app.Response;
                //支持跨域        
                if (app.Request.HttpMethod == "OPTIONS")
                {
                    //支持跨域
                    response.AddHeader("Access-Control-Allow-Methods", "*");
                    response.AddHeader("Access-Control-Allow-Headers", "*");
                    response.AddHeader("Access-Control-Allow-Origin", "*");
                    response.AddHeader("Cache-Control", "no-cache");  
                    response.StatusCode = 200;
                    response.End();
                }
                else
                {
                    response.AddHeader("Access-Control-Allow-Origin", "*");
                    response.AddHeader("Access-Control-Allow-Headers", "*");
                    response.AddHeader("Access-Control-Allow-Methods", "*");
                    response.AddHeader("Cache-Control", "no-cache");
                    //response.AddHeader("Access-Control-Allow-Methods", "GET, POST,PUT, DELETE");
                    //response.AddHeader("Access-Control-Allow-Headers", "Content-Type");
                }
            }
    
    展开全文
  • 问题产生:已拦截跨源请求:同源策略禁止读取 在网页与接口不处于同一个服务器的前提下(前端代码放在A服务器,接口牌B服务器),ajax请求接口的时候,浏览器会为了安全问题,在接口返回数据的时候,对响应头进行...

    问题产生:已拦截跨源请求:同源策略禁止读取

    在网页与接口不处于同一个服务器的前提下(前端代码放在A服务器,接口牌B服务器),ajax请求接口的时候,浏览器会为了安全问题,在接口返回数据的时候,对响应头进行检验。如果响应头中没有Access-Control-Allow-Origin:*和Access-Control-Allow-Headers:Origin, X-Requested-With, Content-Type, Accept这两个响应头的话,就会提示“已拦截跨源请求:同源策略禁止读取”错误。
    这里写图片描述

    解决思路:在接口响应头中加入Access-Control-Allow-Origin和Access-Control-Allow-Headers

    方法一:直接在返回对象Response中添加header
    方法二:加入过滤器,在过滤器filter中对返回对象Response添加header
    方法三:在拦截器中对返回对象Response添加header
    提示:方法一的作法并不实用,方法二比较实用而且能在任意项目中使用,方法三需要配合spring mvc、struts2等框架才能使用

    案例

    本人使用的是spring mvc框架,因此使用拦截器来处理“同源
    策略禁止读取”这个问题。测试发现,在拦截器的preHandle方法中添加请求头,才会起作用。

    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.springframework.web.servlet.HandlerInterceptor;
    import org.springframework.web.servlet.ModelAndView;
    
    /**
     * 
     * @author 劳先生
     * 解决浏览器出现的【已拦截跨源请求:同源策略禁止读取】问题
     */
    public class AllowOriginIntercepter implements HandlerInterceptor {
    
        @Override
        public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
                throws Exception {
            response.addHeader("Access-Control-Allow-Origin", "*");
            response.addHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
            return true;
        }
    
        @Override
        public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
                ModelAndView modelAndView) throws Exception {
    
        }
    
        @Override
        public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
                throws Exception {
    
        }
    
    }
    展开全文
  • 已拦截跨源请求:同源策略禁止读取位于 http://192.168.43.207:8080/manager/login?name=hao&password=111 的远程资源。(原因:CORS 请求未能成功)。 IE中可以正常运行,但Firefox报错,参考了官方文档...

    已拦截跨源请求:同源策略禁止读取位于 http://192.168.43.207:8080/manager/login?name=hao&password=111 的远程资源。(原因:CORS 请求未能成功)。

    IE中可以正常运行,但Firefox报错,参考了官方文档(https://developer.mozilla.org/zh-CN/docs/Web/HTTP/CORS/Errors/CORSMissingAllowOrigin)也不能解决。

    展开全文
  • 已拦截跨源请求:同源策略禁止读取位于 http://请求地址:8081/schoolUser/getTelecomNetWorkNumber 的远程资源。如何解决。 这种跨源请求禁止读取的原因是:CORS 头缺少 'Access-Control-Allow-Origin',所以在要...
  • 已拦截跨源请求:同源策略禁止读取位于XXXXXXXXXXXXXXXX/demo_test.txt 的远程资源。(原因:CORS 请求不是 http) 原始代码index.html在附录中 ###############################################################...
  • 解决浏览器出现的【已拦截跨源请求:同源策略禁止读取】问题 在 HttpServletResponse 中 添加返回信息 response.addHeader("Access-Control-Allow-Origin", "*");
  • 已拦截跨源请求:同源策略禁止读取位于 http://localhost:9001/eduservice/chapter/getChapterVideo18 的远程资源。(原因:CORS 头缺少 'Access-Control-Allow-Origin')。 已拦截跨源请求:同源策略禁止读取位于 ...
  • SockJS 为我们提供一个连贯的浏览器 Javascript API,它在浏览器和 Web 服务器之间创建一个低延迟、全复式、跨域通信通道,无论是否具有 Web 套件。这就需要使用服务器,这是node.js的一个版本。 我们没有用到该...
  • php文件上传的时候调用了服务器上的脚本,表单提交的时候报错如下: 解决办法: 在html中添加如下: <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta ...
  • 已拦截跨源请求:同源策略禁止读取位于 http*****的远程资源。(原因:CORS 头缺少 'Access-Control-Allow-Origin')。 CORS一般不需要在浏览器配置,浏览器发现这次跨源AJAX请求是简单请求,就自动在头信息之...
  • 已拦截跨源请求:同源策略禁止读取位于 http://XXXX/x 的远程资源。(原因:CORS 头缺少 'Access-Control-Allow-Origin') 同源策略:(来自百度)  同源策略(Same origin policy)是一种约定,它是浏览器...
  • 已拦截跨源请求:同源策略禁止读取位于 http://localhost:8080/*的远程资源。(原因:CORS 头缺少 'Access-Control-Allow-Origin')。
  • 表现情况,用主机赠送的二级域名可正常...前提:服务端网站的配置(被请求的网站) 1.需要在IIS服务器站点的功能视图中设置HTTP响应标头: 2.双击“HTTP响应标头”进入设置界面 3.点击右侧添加按钮弹出窗口 &n...
  • 火狐浏览器设置步骤: 1.进入火狐配置页进行设置 ,地址栏输入"about:config" ...3.搜索”security.fileuri.strict_origin_policy”,并设置该项为false 4.重启浏览器,可以跨域访问 谷歌浏览器: 不支持,别浪费力气了 ...
  • 请求访问的地址:[url=http://www.wanhai.com/views/quick/cargo_tracking.xhtml][/url] var settings = { "async": true, "crossDomain": true, ...温馨提示:上面那个接口是别人的,我修改不了,没有代码
  • 访问本地文件,居然也报这个错。。。错误提示如下: 解决方法: 第一步:地址栏输入:...第二步:搜索:security.fileuri.strict_origin_policy,并设置该项为false ...最后,重启浏览器,就不会再报跨源错误了。 ...
  • 已拦截跨源请求:同源策略禁止读取位于 http://192.168.x.x:x/xxx 的远程资源。(原因:CORS 头缺少 ‘Access-Control-Allow-Origin’)。 谷歌: Access to XMLHttpRequest at ‘http://192.168.x.x.:xxx’ from ...
  • 首先我们需要打开控制面板->管理工具->IIS管理器,在其中点击我们的服务器,选择IIS中的HTTP响应标头,双击打开。 ... "Access-Control-Allow-Credentials": "true", "Access-Control-Allow-Headers": "Accept, X...
  • 第一种,就是在被请求的程序中添加HTTP头,即CORS跨域(跨域资源共享,Cross-Origin Resource Sharing)如: Response.Headers.Add("Access-Control-Allow-Origin", "*"); // JSON { 'Access-Control-Allow-Origin'...
  • 已拦截跨源请求:同源策略禁止读取位于 http*****的远程资源。(原因:CORS 头缺少 ‘Access-Control-Allow-Origin’)。 CORS一般不需要在浏览器配置,浏览器发现这次跨源AJAX请求是简单请求,就自动在头信息之中...
  • 学习jsp的过程中遇到了此问题 原因: jsp页面中的跳转的url地址前缀为:127.0.0.1 而在网页上预览时填写的地址前缀为:localhost 解决方案: 统一写为127.0.0.1或localhost即可 ...

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 162
精华内容 64
关键字:

已拦截跨源请求