正常的引入js文件是如何引入的?
demo.html
<script src="script.js"></script>
如果script.js内容如下会发生什么?
alert(1);
显然,demo.html中会弹出1
第一次改造:
如果demo.html改成
<script> function show(data){ alert(data); } </script> <script src="script.js"></script>
script.js
show(1);
同样会弹出1
再变形
demo.html
<script> function show(data){ console.log(data); } </script> <script src="script.js"></script>
script.js
show({ a:1 })
控制台就会输出{a:1}这个对象
恩,看到这里还不明白jsonp的原理?
继续:
demo.html
<script> function show(data){ console.log(data); } </script> <script src="script.PHP?backname=show"></script>
这里的script.js不再是静态js,而是一个服务器动态输出的js文件,并且带了一个参数,这个参数给后台,告诉后台,以什么名字返回数据
script.PHP
$back=$_GET['backname']; echo $back."({'a':1})";
完结,代码简陋,说明问题即可