跨域jquery得到
我看到了一些带有ajax的跨域示例,但它不起作用。
$(document).ready(function () { var url = "http://api.twitter.com/1/statuses/user_timeline.json?screen_name=AssasNet&include_rts=1"; $.get(url, function (data) { console.log(data) alert(data); }); });
我尝试使用chrome并给出以下错误:
XMLHttpRequest cannot load http://api.twitter.com/1/statuses/user_timeline.json?screen_name=AssasNet&include_rts=1. Origin null is not allowed by Access-Control-Allow-Origin.
你不能使用$.get
因为这会进行ajax调用,这将是跨源的,因此被同源策略阻止,而你试图访问的Twitter API不支持跨源资源共享 (或者如果是,它不允许原点null
或http://jsbin.com
,这是我试过的那个)。
API确实支持JSONP (这不是真正的ajax调用),所以只需将$.get
更改为指定JSONP
的$.ajax
:
$.ajax({ url: url, dataType: "jsonp", success: function (data) { console.log(data) alert(data); } });
实例 | 资源