如何按日期范围和地点搜索*?
问题描述:
我试图做这家伙说已经采用了棱角分明做了this SO question如何按日期范围和地点搜索*?
他的代码的推移:
.controller('WikiQueryCtrl', ['$scope', '$http', function($scope, $http) {
$http({
//these geo coordinates and the date ranges will eventually be dynamic.
url: 'https://wdq.wmflabs.org/api?q=AROUND[625,-25.911389,31.957222,5]%20AND%20BETWEEN[585,1985,1987]&callback=JSON_CALLBACK',
method: 'jsonp'
})
.success(function(response) {
var items = response.items;
$scope.jason = items;
var wikiDataString = 'http://www.wikidata.org/w/api.php?action=wbgetentities&format=json&ids=Q' + items + '&props=sitelinks%7Csitelinks%2Furls&callback=JSON_CALLBACK';
$http({
url: wikiDataString,
method: 'jsonp'
})
.success(function(response2) {
$scope.jason2 = response2;
var url = response2.entities["Q" + items].sitelinks.enwiki.url;
var wikipediaTitle = url.substr(24, url.length);
var wikipediaURL = 'http://en.wikipedia.org/w/api.php?action=query&prop=extracts|info&exintro&titles=' + wikipediaTitle + '&format=json&explaintext&redirects&inprop=url&indexpageids&format=json&callback=JSON_CALLBACK';
$http({
url: wikipediaURL,
method: 'jsonp'
}).success(function(response4) {
var query = response4.query;
var pageID = response4.query.pageids;
var title = response4.query.pages[pageID].title;
var fullurl = response4.query.pages[pageID].fullurl;
var content = response4.query.pages[pageID].extract;
$scope.title = title;
$scope.content = content;
$scope.fullurl = fullurl;
$scope.jason = query;
});
});
});
}]);
我知道*有一个geosearch而不是日期范围,我想看看wikidata的家伙已经完成,将其转换为jQuery的,但没有积极的结果,这是一个代码笔:
https://codepen.io/anon/pen/PjywjR
将如何我在jQuery中实现了这个人使用Angular所取得的成就,通过坐标和日期范围来搜索wikipedia内容。
答
我没有与*API合作,并且URL https://wdq.wmflabs.org在浏览器和AJAX请求中都给出了502代码。所以第一个问题是:你确定这是一个有效的API端点吗?
var url = "https://wdq.wmflabs.org/api";
var data = {
q: "AROUND[625,-25.911389,31.957222,5]%20AND%20BETWEEN[585,1985,1987]",
callback: "JSON_CALLBACK"
};
$.ajax({
dataType: "jsonp",
url: url,
data: data,
success: function(data) {
console.log(data);
}
});
如上所述,这一请求接收目前一个502错误网关响应:
接下来,当你测试和调试我想简化AJAX请求。
一个建议:删除引用的代码(链接到)并粘贴你的代码(在codepen.io链接)。 – klenwell