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

jsonp学习二验证跨域数据访问

发布时间:2020-12-16 19:34:45 所属栏目:百科 来源:网络整理
导读:假入我们有一个远程的服务器,域名是http://www.xukaiqiang.com 我们在这个远程服务器的根目录下面添加一个romote.js文件,然后我们使用本地服务器进行获取远程服务器的数据。 remote.js文件中的内容很简单 alert("I'maremotefile!"); 然后我们在本地服务器

假入我们有一个远程的服务器,域名是http://www.xukaiqiang.com

我们在这个远程服务器的根目录下面添加一个romote.js文件,然后我们使用本地服务器进行获取远程服务器的数据。

remote.js文件中的内容很简单

alert("I'maremotefile!");

然后我们在本地服务器中的jsp页面中进行引用

<scripttype="text/javascript"src="http://www.xukaiqiang.com/remote.js"></script>

当我们访问本地jsp的时候,就可以看到,页面中弹出 I'm a romote file!。

说明了,本地服务器通过<script>标签可以访问远程服务器的js。


然后我们对代码进行改进一下

remote.js文件中的内容改为

localHandler({"result":"I'mremotedata!"});

本地服务器中的jsp页面中改为

<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<title>远程js调用本地函数测试</title>
<scripttype="text/javascript">
//回调方法
varlocalHandler=function(data){
alert('Imlocaljsmethod,calledbyremotejs,returndatais":"'+data.result);
};
</script>
<scripttype="text/javascript"src="http://www.xukaiqiang.com/remote.js"></script>
</head>
<body>

</body>
</html>

最终,本地服务器会弹出I' m remote data!

证明了,本地服务器可以通过script标签跨域访问远程服务器的数据。

为了更灵活的调用远程服务器上面的数据,我们不会像上面所讲的那样,在远程服务器上面新建一个remote.js文件,我们使用例如servlet,接收本地服务器传递的参数,动态产生js脚本。例如:我获取远程服务器上面的所有的男同学的信息,我们本地服务器就传递一个性别为男的参数,服务器就会根据这个参数动态生成js文件,然后返回到本地来,实现更灵活地跨域访问。

(编辑:李大同)

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

    推荐文章
      热点阅读