js跨域解决方案(一)

域名、端口只要有一个不同就会出现跨域的问题。

以下把域名端口不同的服务器统称为跨域服务器。代码用java语言解释。

我也是看别人博客才知道可以通过调用跨域服务器解决

因为js文件是可以跨域的,就像我们可以引用其他平台的jq文件

同时发现一个知识盲点:原来src引用js文件不是必须是js拓展名的文件。比如这样跨域服务器地址 xxxxx/testjs,get请求内容写

response.getWrite.write("function biubiubiu(){alert('biubiubiu is doing ...');}");前端src引用这个地址,就可以使用这个函数。

那么我想,既然我可以引用这个函数,是不是可以在跨域服务器里把我需要跨域访问的数据当做返回值放到这个函数里,下面是代码测试:

实现功能:跨域返回一个字符串给前端,我用两个编辑器IDEA 和webstorm,IDEA当做跨域服务器,webstorm也能启动一个软件自带的

java代码如下:get请求返回(注意拼接的引号)

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        Writer writer=response.getWriter();
        String str="战意 化为青龙翱翔吧";
        writer.write("function biubiubiu(){return '"+str+"'}");
    }

前端代码:

 

<script>
    $("#box").click(function () {
        var s=document.createElement("script");
        s.src="http://localhost:8080/tt2";
        s.onload=function(){
            console.log(100);
            function fun(){
                console.log(biubiubiu());
            }
            document.getElementById("box2").addEventListener("click",fun);
        };
        document.body.appendChild(s);
    });
</script>

 

这样前端就能能输出后台返回的字符串数据了,当然,数据可以使任何类型,也可以是从数据库中获取的,剩下需要做的就是怎么组织代码格式了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值