这个一下午的坑终于解决了。
ajax跨域获取json数据
- 当请求得到的内容为json数据,用jsonp跨域获取是不可行的,会显示“Uncaught SyntaxError: Unexpected token :”
- 由于无法改动服务端,无法加入同源策略允许头header,只能在浏览器操作,
利用eezzo.com的API转换机制,可以成功,实例如下:
var requestUrl = "https://news-at.zhihu.com/api/4/news/latest";
//这里一定要注意,实际请求的url其实是以参数形式从eezzo.com读取的,因此我们都要对url进行编码,使用encodeURI方法即可
$.getJSON("http://eezzo.com/API/CD", { url: encodeURI(requestUrl) }, function(json) {
console.log(json);
});
获取到的数据: