【发布时间】:2014-07-14 17:35:12
【问题描述】:
我正在向NYTimes Congress API 发出几个 ajax 请求,同时遍历一系列区域(1 到 5)。我平均只能成功返回 2 个请求,其余的返回一个:
XMLHttpRequest cannot load https://api.nytimes.com/svc/politics/v3/us/legislative/congress/members/house/OR/2/current.json?api-key=xxxxxxx.
No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:9001' is therefore not allowed access.
这些失败似乎没有规律可循。即使多次使用相同的_district 号码似乎也会随机失败。
我的代码:
var title_element,
title_render,
district_numbers = ['1', '2', '3', '4', '5'],
element_ids = ['ushd1', 'ushd2', 'ushd3', 'ushd4', 'ushd5'],
apiKey = 'api-key=xxxxxxxxxxx',
baseUrl = 'https://api.nytimes.com/svc/politics/v3/us/legislative/congress/members/house/OR/',
orUsHouseMembers,
frag;
for (var i = 0, total_districts = district_numbers.length; i < total_districts; i++) {
(function (i) {
var myUrl = baseUrl + district_numbers[i] + '/current.json?' + apiKey;
$.ajax({
url: myUrl,
dataType: 'json',
success: function (data) {
console.log('\nSUCCESS: ' + myUrl);
title_element = document.getElementById(element_ids[i]);
title_render = document.createTextNode(data.results[0].name + ' - District ' + data.results[0].district );
title_element.appendChild(title_render);
},
error: function (data) {
console.log('\nFAIL: ' + myUrl);
}
})
})(i);
}
我尝试添加 Access-Control-Allow-Origin: '*' 和所有常见的 CORS 内容,但我不认为这是一个真正的 CORS 问题,因为故障过于间歇性
我的代码有问题还是 API 有问题?
【问题讨论】:
标签: jquery ajax cors asp.net-web-api