什么是jsonp
jsonp是一种跨域的方式,它利用的是html中< script >标签可以不受同源策略影响,访问到其它服务器下的js资源文件。通用类似的html标签还有,
怎么用jsonp
实例
我们要跨域请求某个服务器上的数据:
{ "name":"Bill Gates", "age":62, "city":"Seattle" }
为了方便举例实现,我在可用的服务器上放置了一个静态文件,其内容为:
foo({ "name":"Bill Gates", "age":62, "city":"Seattle" });
添加了一个script标签,标签的 src 指向了另一个域 local.sns.jutouit.com 下的 remote.js 脚本
<html>
<head>
<title>GoJSONP</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
</head>
<body>
<script type="text/javascript">
function jsonhandle(data){
alert("age:" + data.age + " name:" + data.name + " sex:"+data.sex);
}
</script>
<script type="text/javascript" src="https://p1-jj.byteimg.com/tos-cn-i-t2oaga2asx/gold-user-assets/2020/6/1/1726e1322209bb7c~tplv-t2oaga2asx-image.image"></script>
<script type="text/javascript">
</script>
<script type="text/javascript" src="http://local.sns.jutouit.com/remote.js"></script>
</body>
</html>
其中remote.js中存放要获取的数据
"age" : 25,
"name": "qqq",
"sex": "男"
});
总结
其实就是通过函数的形式把json数据格式封装到一个js方法中,在当前文件中应用跨域文件的js,从而就可以获取其中的json数据。