Java 跨域问题解决

1、什么就算跨域了,以下三点中只要有一个不同就是跨域啦。

1)、协议不同;2)、域名不同(IP地址不同)、3)、端口号不同

下图来自百度百科

2、测试案例

有两个站点:1)、自定义服务站点(假设为A站点),2)、smland-portal站点(假设为B站点),

A站点服务地址假设为http:A/;B站点服务地址假设为http:B/;

B站点想访问A站点服务信息

B站点前端js文件梳理

1、获取代理地址

      /**
     * 获取代理地址,返回的地址后进行设置时参数形式为proxy?url=....
     * @returns {string} 代理地址
     */
    fn.getProxy=function () {
        // 获取代理地址
        var protocol = window.location.protocol;
        var host = window.location.host;
        var website = window.location.pathname.split('/')[1];
        var proxy = protocol + "//" + host + "/" + website + "/api/ProxyService/Post";
        return proxy;
    }

2、请求服务

 /**
     * options:参数信息
     * options={
                "DatasourceName":"DZYWK",//数据源别名
                "DatasetName":"CBK_CBDK",//数据集名称
                "Sql":"DKID IN('1212212121')"//删除条件
        }
     * callback:回调函数
     */
    fn.delGeo=function(options,callback){
         var  settings={"DatasourceName":"", //数据源别名
                 "DatasetName":"",//数据集名称
                "Sql":""//查询sql条件
              };
         $.extend(settings, options);  
         var proxy=fn.getProxy();
         var url = proxy + "?url=" + gisconfig.customServiceUrl + "edit/DelGeo";
         $.ajax({
             async:true,
             url:url,
             type:"POST",
             contentType : "application/x-www-form-urlencoded",
             data:{
                 requestEntity :JSON.stringify(settings)
             },
             success:function (data) {
                 if (typeof callback === 'function') {
                     callback(data);
                 }
             },
         });
    }

 

B站点后台服务梳理

A站点后台服务梳理

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值