JSONP的工作原理是什么?
对于开发者来说,离不开API的开发和调用。在我们的日常开发中,如果调用一个第三方API,而这个第三方API是以json数据格式返回的,默认是不能直接调用的(比如AJAX调用),因为会涉及到跨域的问题。如何解决JSON跨域调用?那就得用JSONP了!
对JSON和JSONP区别最简单的理解就是,JSON是一种数据格式,而JSONP是一种数据调用。还有一种松散的理解:带回调的JSON就是JSONP。
因为浏览器s的同源策略,在web上无法与服务器直接通信,使用JSONP解决浏览器的跨域数据访问。
JSONP原理分析如上所述,出于安全考虑,所有主流浏览器都有相同的origin策略,但HTML中的ltscriptgt标签不受此限制(ltscriptgt标签没有跨域限制)!所以我们可以利用这个特性与第三方进行交流。
JSONP的整个工作流程如下:
1.一个脚本标签被用在调用者s页面引用第三方API地址;
2.第三方响应的数据是JSON数据的包,格式如下:
回拨({nam:susan