标签:end append type practice ext asc ready data llb
jsonp是啥玩意儿呢 ?你猜!
此感叹号意味着以下内容要说正事儿了!!!!!
由于浏览器为了安全限制(他要怎样他说了算,此处不扯远了):只能允许来自同服务器,同域名的同端口号下请求数据(同源),是的jsonp就是为了不受你限制而生的!
。》》。
。
。
。老子实在不想写了 ,但是看别人写的太鸡巴啰嗦了,借别人代码说两句,就一句,你可能就懂了
。
。
<!DOCTYPE html>
<html>
<head>
<title>GoJSONP</title>
</head>
<body>
<script type="text/javascript">
function jsonhandle(data){
alert("age:" + data.age + "name:" + data.name);
}
</script>
<script type="text/javascript" src="jquery-1.8.3.min.js">
</script>
<script type="text/javascript">
$(document).ready(function(){
$.ajax({
type : "get",
async: false,
url : "http://www.practice-zhao.com/student.php?id=1",
type: "json",
success : function(data) {
jsonhandle(data);
}
});
});
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>GoJSONP</title>
</head>
<body>
<script type="text/javascript">
function jsonhandle(data){
alert("age:" + data.age + "name:" + data.name);
}
</script>
<script type="text/javascript" src="jquery-1.8.3.min.js">
</script>
<script type="text/javascript">
$(document).ready(function(){
var url = "http://www.practice-zhao.com/student.php?id=1&callback=jsonhandle";
var obj = $(‘<script><\/script>‘);
obj.attr("src",url);
$("body").append(obj);
});
</script>
</body>
</html>
http://www.practice-zhao.com/student.php?id=1&callback=jsonhandle 此地址是一个php的输出getInfo({"username":"张三"})
代码估计你们也看得懂,重点!!重点来了!!!!!!所谓跨域,就是数据共享,接口请求做限制,但是没有对图片,文本,文件等在是否同一来源(同服务器,同域名的同端口号)做限制,比如cdn(此处有人白眼),所以在script标签的src其实是个get请求,这个请求可以是一个js文件也可以是一个js代码!总之它不是一个被限制跨域的接口请求!说白了就是去拿到js代码,想要传的数据整合在这串代码里了(呵呵,早期的web端推送就是这样的原理,push一段代码过来)
mmmp 终于写完了,我就是有点懒
标签:end append type practice ext asc ready data llb
原文地址:https://www.cnblogs.com/zhangzhaowei/p/9285656.html