什么是jsonp

近来无事了解一下什么是jsonp:

慕课网了解的概念是:

          jsonp 的核心则是动态添加 <script> 标签来调用服务器提供的 js 脚本,允许用户传递一个 callback 参数给服务端,然后服务端返回数据时会将这个 callback           参数作为函数名来包裹住 JSON 数据,这样客户端就可以随意定制自己的函数来自动处理返回数据了。

   也就是

<script src="http://...../jsonp.php?callback=arguments"></script>

这样发送给服务器,然后服务器get到callback经过运算最终返回类似于

echo "var callback={'name':'Ones','age':'18'}"

这样的数据,当在浏览器中调用res的时候就能返回下面的结果,这也解释了为什么jsonp只能使用get方式传递的原因,

另外要特别注意的是,使用jquery ajax的同学要注意,虽然jsonp也是使用的$.ajax()这种写法,但是他和ajax一点关系也没有,ajax使用的是XmlHttpRequest,而jsonp使用的是script标签的src原理,这俩完全没关系

posted @ 2017-08-14 14:47  Ones(小万)  阅读(157)  评论(0编辑  收藏  举报