document.write('

 解析:

(1)Jsonp 不是解决跨域的唯一途径。
(2)可以异步。
(3)实现机制如下。
Jsonp 的全称是 Jsonp with Padding,是为了解决跨域请求资源而产生的解决
方案。很多时候我们需要在客户端获取服务器数据进行操作,一般我们会使用
Ajax+Web Service 做此事,但是如果我们希望获取的数据和当前页面并不是一个
域,著名的同源策略(不同域的客户端脚本在没明确授权的情况下,不能读写
对方的资源)会因为安全原因拒绝请求,也就是说,我们不能向其他域直接发
送请求以获取资源,在 localhot 域上有一个 books.php,里面包含脚本对 test.com
域的 books.php 发送 get 请求,希望获取其 book 列表资源,这就是一个跨域请
求资源。
代码如下:
$.ajax({
 type:\'get\',
 url:\'http://www.qdjhu.com/books.php\'
 });
页面会报一个这样的错误 :XMLHttpRequest cannot load。而 http://www.
qdjhu.com/books.php. Origin http://localhost is not allowed by Access-Control-AllowOrigin.Jsonp
是为了解决这个问题出现的。
(4)Jsonp 和 JSON 的关系。
Json(JavaScript Object Notation)和 Jsonp(Json with Padding)虽然只有一
个字母的差别,但其实它们根本不是一回事儿。JSON 是一种数据交换格式,而
Jsonp 是一种依靠开发人员的聪明才智创造出来的一种非官方跨域数据交互协
议。我们拿谍战片来打个比方,JSON 是地下党用来书写和交换情报的“暗号”,
而 Jsonp 则是把用暗号书写的情报传递给自己同志时使用的接头方式。
');