jsonp在前端领域是个很常用的技术,面试中也可能会让你手写jsonp。相信很多同学都听过jsonp但对其实现原理并不是很清楚,今天咱们来一边手写jsonp一边介绍其原理。
首先为什么会有jsonp这个技术呢?都是同源策略惹的祸。那什么又是同源策略呢?所谓同源是指,域名,协议,端口相同。举个简单的栗子,你在百度的站点通过ajax是访问不到新浪的页面的?那怎么解决这个问题呢,jsonp要闪亮登场了!
什么是jsonp
ajax请求受同源策略限制不能进行跨域请求,但是script标签中的src属性却不受限制,jsonp就是利用这一特性来实现跨域请求。
手写jsonp
为了对比和ajax请求的区别我们先贴一段在本地用ajax请求百度站点数据的实例(这是个错误的实例 ,ajax不能跨域请求):
<script type="text/javascript" src="jquery-1.8.3.min.js">
</script>
<script type="text/javascript">
function handleRes(data){
console.log(data);
}
$(document).ready(function