同源策略
巴拉巴拉巴拉….(定义就不讲了,简单来说就是协议、端口、域名要相同)
注意:协议和端口引起的不同,不在前端解决的范围内
JSONP
jsonp的原理很简单,就是动态的创造script标签,然后利用script的src 不受同源策略约束来跨域获取数据。
第一步
动态创建
var script = document.createElement("script");
script.src = "https://api.douban.com/v2/book/search?q=javascript&count=1&callback=handleResponse";
document.body.insertBefore(script, document.body.firstChild);
我们在这里借助了豆瓣api来实现数据的交互
第二步
在页面中,返回的JSON作为参数传入回调函数中,我们通过回调函数来来操作数据。
function handleResponse(response){
// 对response数据进行操作代码
}
<!DOCTYPE html>
<html lang="en">