你心里肯定会想,我难道要用后台做个爬虫来获取这个数据吗?!(;°○° )
为了避免这种蛋疼的事情发生,JSONP 就派上用场了。
<script>
标签是不受同源策略的限制的,它可以载入任意地方的 JavaScript 文件,而并不要求同源。
所以 JSONP 的理念就是,我和服务端约定好一个函数名,当我请求文件的时候,服务端返回一段 JavaScript。这段 JavaScript 调用了我们约定好的函数,并且将数据当做参数传入。
非常巧合的一点(其实并不是),JSON 的数据格式和 JavaScript 语言里对象的格式正好相同。所以在我们约定的函数里面可以直接使用这个对象。
光说不练假把式,让我们来看一个例子:
你需要获取数据的页面 index.html: