动力节点首页 全国咨询热线:400-8080-105

绑定手机号,登录
手机号

验证码

微信登录
手机号登录
手机号

验证码

微信登录与注册
微信扫码登录与注册

扫码关注微信公众号完成登录与注册
手机号登录
首页 > 文章

JSONP跨域请求

03-29 14:47 741浏览
举报 T字号
  • 大字
  • 中字
  • 小字

JSONP,是JSON with padding的缩写,意为填充式JSON或参数式JSON,是对JSON的一种新的应用,主要用于跨域,其原理是通过动态的创建script标签,并为其src属性指定一个跨域的URL,这里的script标签与img标签一样,都有能力不受限制的从其他域加载资源。因为JSONP是有效的js代码,所以在请求完成后,即在JSONP响应加载到页面中以后,就会立即执行;JSONP更像是一个被包含在函数调用中的JSON,形式如下:

callback({name:"kk"});

JSONP由两部分组成:回到函数和数据。回调函数是指当响应到来时调用的函数,回调函数的名字一般是在请求中指定的。而数据就是指传入回调函数中的JSON数据。代码示例:

<body>
<div id="box">
    <button id="btn">CLICK</button>
</div>

<script>
    function localFn(res) {
        console.log(res);
    };
    var btn = document.getElementById('btn');
    btn.onclick = function () {
        var script = document.createElement('script');
        script.src = "https://api.douban.com/v2/book/search?q=javascript&count=1&callback=localFn";
        document.body.insertBefore(script, document.body.firstChild);
    }

</script>
</body>

使用JSONP进行跨域的优点是简单易用,缺点是(1)安全性不高;(2)要确定请求是否失败并不容易;

0人推荐
共同学习,写下你的评论
0条评论
代码小兵603
程序员代码小兵603

2篇文章贡献2797字

相关课程 更多>

作者相关文章更多>

推荐相关文章更多>

JavaWeb的3大组件

代码小兵49806-11 15:28

全面解析Cookie技术

代码小兵49806-11 15:51

浅谈JavaWeb架构演变

代码小兵49806-11 16:22

探讨Web开发中的Session存储与管理

代码小兵51603-29 17:28

JavaScript基础知识

 暴风城-小飞04-06 20:49

发评论

举报

0/150

取消