我正在尝试对返回JSON文件的API进行简单调用。我已经确认我使用的URL工作并返回有效的JSON。当我尝试使用此JQuery脚本获取JSON时,不会触发警报,这使得我认为代码的GET部分出了问题。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(document).ready(function() {
$.getJSON("http://open.nysenate.gov/legislation/2.0/search.json?term=stricken:true%20AND%20year:2009&callback=?", function(json) {
alert("test");
});
});
</script>
</head>
<body>
</body>
</html>
答案 0 :(得分:1)
要解决同源策略,您可以编写一个简单的后端脚本(PHP,perl,Python等),用于擦除所需的URL并将结果输出到您的脚本。然后,您只需将AJAX调用指向本地脚本而不是远程脚本。
答案 1 :(得分:0)
它不支持JSONP,请尝试yourself
答案 2 :(得分:0)
http://en.wikipedia.org/wiki/Same_origin_policy - 您无法在当前域之外进行ajax调用。正如其他答案所建议的那样,解决这个问题的一种方法是使用JSONP。
答案 3 :(得分:0)
我假设返回的JSON对象格式不正确,因为这会返回错误
$(document).ready(function() {
$.getJSON("http://open.nysenate.gov/legislation/2.0/search.json?term=stricken:true%20AND%20year:2009&callback=?",function(json){
alert("dsf");
})
.error(function() { alert("error"); });
});