使用Javascript,我试图向Apigee发出一个带有几个搜索条件的AJAX GET请求。我将请求语言构建为连接数组,然后通过函数encodeURIComponent()运行结果。
对于我的生活,无法弄清楚如何增加默认限制!无论我在哪里尝试附加语言,我总是只给出10个结果。
这是函数的一个版本:
function getRange(flower, day) {
var startRange = new Date();
startRange.setDate(day);
var endRange = new Date();
endRange.setDate(startRange.getDate() + 1);
var arr = [
"'select where flowerType = ",
'"',
flower,
'"',
" and created gte ",
startRange.getTime(),
" and created lte ",
endRange.getTime(),
" order by created asc",
"'&limit=1000"]
var searchParameters = arr.join('');
return (encodeURIComponent(searchParameters));
}
这全部传递给实际发出AJAX请求的另一个函数:
function getReport(flower, day) {
$.ajax({
"url": "http://api.usergrid.com [etc, etc] ?ql=" + getRange(flower, day),
"type": "GET",
"success": function(data) {
console.log(data.entities.length);
};
});
}
我很感激任何建议。我已尝试过语言"限制:1000","& limit:1000"和"& limit = 1000"在我的GET请求中的每个条件之后无济于事。
答案 0 :(得分:0)
根据Apigee Documentation限制查询应如下所示:
/users?ql=select * where name = 'fred*'&limit=50
问题在于您的代码。您应该将需要附加到url的所有参数传递到ajax' data
选项中:
function getRange(flower, day) {
var startRange = new Date();
startRange.setDate(day);
var endRange = new Date();
endRange.setDate(startRange.getDate() + 1);
return {
ql: "select where flowerType = '"
+ flower + "' and created gte "
+ startRange.getTime() + " and created lte "
+ endRange.getTime() + " order by created asc",
limit: 1000
}
}
function getReport(flower, day) {
$.ajax({
url: "http://api.usergrid.com [etc, etc]",
type: "GET",
data: getRange(flower, day),
success: function(data) {
console.log(data.entities.length);
}
})
}