jsonp跨域获取数据的基础教程

前端之家收集整理的这篇文章主要介绍了jsonp跨域获取数据的基础教程前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

前言

由于浏览器有同源策略,所以要想获取非同源(协议,域名,端口三者有一不同都算非同源)的页面的数据,就得进行跨域

(1) jsonp原理

由于script标签的src属性可以访问非同源的js脚本,所以通过src属性访问服务器会返回函数的js代码,而我们想要的数据就作为函数参数返回,而我们会先定义这个函数,返回的js代码就可执行

(2) jsonp实现代码

请求页面

PHP;"> $data = {'name': '张三'};
$callback = $_GET['callback'];
echo $callback."(".json_encode($data).")";

?php>

之后PHP会返回

然后PHP返回的代码h会被请求页面的jsonp方法执行

(3)jQuery的简便jsonp跨域

function showData (data) { console.info(data); } $(document).ready(function () { $("#btn").click(function () { $.ajax({ url: "http://www.example.comjsonp",type: "GET",dataType: "jsonp",// 返回数据类型 jsonpCallback: "showData",//回调函数 // 获取数据成功就执行success函数 success: function (data) { console.info("data"); } }); }); });

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对编程之家的支持

猜你在找的JavaScript相关文章