JSONP不适用于某些链接(jQuery)

时间:2013-10-13 06:24:39

标签: jquery json

我正在尝试使用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就好了。

1 个答案:

答案 0 :(得分:1)

jQuery在请求中添加了一个额外的参数_=xyzhttp://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