$.ajax({
type: "get",
async: false,
url: "http://news-at.zhihu.com/api/4/news/latest",
dataType: "jsonp",
jsonp: "callback",
success: function (response) {
console.log(response);
},
error: function (response) {
console.log(response);
}
});
控制台提示
首先,这个接口返回的是json
jsonp的含义是,由于浏览器的跨域限制(没错,它不是不能跨域,它是不允许你跨域),我们需要借用
script标签,这个标签不受浏览器跨域限制,但它只能返回并执行一段javascript代码啊,因此,需要服务器配合返回一个事先定义好的javascript函数,而数据就藏在里面,至于怎么藏,一般其实就是直接返回需要的数据,你再在浏览器端调用这个定义好的函数就能拿到跨域的数据了。回到最开头,这个接口返回的是json,根本不是javascript函数