2013-01-10 29 views
0

这里得到外部URL JSON是我的代码无法使用jQuery

 $.ajax({ 
    type:"GET", 
    url: "http://fantasy.premierleague.com/web/api/elements/100/", 
    success: function(data) { 
      alert(JSON.stringify(data)); 
     }, 
    error: function(jqXHR, textStatus, errorThrown) { 
      alert(jqXHR.status); 
     }, 
    dataType: "json" 
}); 

但是当我运行它我得到和error.The jqXHR.status is 0,textStatus是Error和errorThrown是No Transport

+0

[HTTP访问控制(CORS)](https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS) – bfavaretto

回答

1

这是不可能,因为您正在尝试进行跨域请求。

您可能想查看JSONP作为解决方案。

看看这个http://remysharp.com/2007/10/08/what-is-jsonp/

+0

如何做到与 – iJade

+0

更新链接 –

+0

的答案,但要使用jsonp我需要修改外部网站的JSON输出太仪式?但我没有控制外部网站 – iJade

2

您可以尝试使用雅虎YQL的JSONP代理。 http://developer.yahoo.com/yql/

$.getJSON("http://query.yahooapis.com/v1/public/yql", { 
    q: "select * from json where url=\"http://fantasy.premierleague.com/web/api/elements/100/\"", 
    format: "json" 
}, 

function (data) { 
    console.log(data.query.results.json.transfers_out); 
}); 

http://jsfiddle.net/zZy77/