无法覆盖Apigee GET请求中的默认限制

时间:2014-07-31 03:18:28

标签: javascript jquery ajax

使用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请求中的每个条件之后无济于事。

1 个答案:

答案 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);
        }
    })
}