我正在尝试使用GovTrack API。此代码有效:
$.ajax({
dataType: "jsonp",
url: 'http://www.govtrack.us/api/v2/bill/76416?format=jsonp'
});
但是这段代码没有:
$.ajax({
dataType: "jsonp",
url: 'http://www.govtrack.us/api/v2/bill?format=jsonp'
});
我得到了
Failed to load resource: the server responded with a status of 400 (BAD REQUEST) http://www.govtrack.us/api/v2/person?format=jsonp&callback=jQuery110209814499213825911_1381645302221&_=1381645302222
我猜这是一个错误的请求,因为_=1381645302222
,但我不知道如何解决它。当我转到链接时,他们加载JSON就好了。
答案 0 :(得分:1)
jQuery在请求中添加了一个额外的参数_=xyz
(http://www.govtrack.us/api/v2/bill?format=jsonp&callback=jQuery191010857695830054581_1381645903345&_=1381645903346
)来禁用get请求的缓存
看起来特定请求不喜欢_
(缓存禁用)参数。
尝试
$.ajax({
dataType: "jsonp",
url: 'http://www.govtrack.us/api/v2/bill?format=jsonp',
cache: true
}).done(function(data){
console.log(data)
});
演示:Fiddle