关于我遇到的问题与工作示例链接: http://jsfiddle.net/dSJCq/3/
function populateJobsList (jobLocation) {
if (jobLocation == ""){
jobLocation = 'Spain';
}
var provinceArray = jobLocation.split(',');
console.log(provinceArray , jobLocation);
var province = provinceArray[0];
var url_jobs = "http://api.indeed.com/ads/apisearch?publisher=5656845852938153&v=2&format=json&callback=?&q=&l=Madrid&sort=relevance&radius=25&st=jobsite&jt=fulltime&start=0&limit=4&fromage=10&filter=1&latlong=1&co=es";
$.getJSON(url_jobs, getJSONData);
}
function getJSONData(data) {
console.log(data)
$.each(data.results, function(i,item){
i++;
$("#titleJob"+i).html(item.jobtitle.substr(0,43));
if (item.city){
$("#locationJob"+i).html(item.city);
}
else {
$("#locationJob"+i).html('N/A');
}
$("#companyJob"+i).html(item.company.substr(0,43));
});
}
当我试图从Indeed中检索信息时,我似乎不明白为什么这个JSON调用失败了。在我的开发环境中,当我从http://localhost:8080/运行完全相同的代码时,代码运行正常,并且能够从Indeed获得结果JSON。但是,当我从另一台服务器运行代码时,例如我的生产服务器(或JS小提琴),我在$ .getJSON调用上得到一个错误堆栈。单击测试按钮时,可以在JS小提琴的控制台中查看此错误。
调用正在使用JSONP,我的理解是,由于调用的性质,它应该允许不同的访问源。我也知道,Indeed支持JSONP,因为当你直接访问这个链接时,它会返回一个带回调函数的JSON对象:
我完全不知道为什么这段代码适用于一个环境而不是另一个环境?