手写一个jsonp实现
Posted 前端程序人生
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了手写一个jsonp实现相关的知识,希望对你有一定的参考价值。
JSONP是JSON with padding(填充式JSON或参数式JSON)的简写,是应用JSON的一种新方法,在后来的Web服务中非常流行。JSONP看起来与JSON差不多,只不过是被包含在函数调用中的JSON,就像下面这样。
callback({ “name”: “Nicholas” });
JSONP由两部分组成:回调函数和数据。回调函数是当响应到来时应该在页面中调用的函数。回调函数的名字一般是在请求中指定的。而数据就是传入回调函数中的JSON数据。下面是一个典型的JSONP请求。
http://freegeoip.net/json/?callback=handleResponse
这个URL是在请求一个JSONP地理定位服务。通过查询字符串来指定JSONP服务的回调参数是很常见的,就像上面的URL所示,这里指定的回调函数的名字叫handleResponse() 。
JSONP是通过动态 <script> 元素来使用的,使用时可以为 src 属性指定一个跨域URL。这里的 <script> 元素与 <img> 元素类似,都有能力不受限制地从其他域加载资源。因为JSONP是有效的javascript代码,所以在请求完成后,即在JSONP响应加载到页面中以后,就会立即执行。来看一个例子。
function
handleResponse(response){
以上是关于手写一个jsonp实现的主要内容,如果未能解决你的问题,请参考以下文章
高频重要前端API手写整理(call,apply,bind,instanceof,flat,filter,new,防抖,节流,深浅拷贝,数组乱序,数组去重,继承, lazyman,jsonp的实现,函