原理:
浏览器允许跨域引用js资源,
so 生成<script src="跨域的IP地址?callback=callbackFunction"> <script>的节点 追加到head里面就可以访问外域,并且执行回掉函数(参数是ajax 返回的数据)
注意的地方:
a. 只有get方法才可以执行
b. dataType 设置成jsonp
实现:
a. 一个事件去head里面添加 script 节点(src包含回掉函数)
b. 构造回掉函数,实现跨域的意义
eg:
// 触发jsonp的事件
$("button").click(function () {
beginCross();
});
// data是访问外域返回的数据
function hello(data) {
alert("hello world");
console.log(data);
}
// 跨域访问
function beginCross() {
var js = "<script src='http://域名?callback=hello'><\/script>",
head = $("head");
head.append(js);
}