1

我有一个带有flask-restless的后端应用程序,它回复了一些 json 数据。它设置正确。我通过 $.ajax 函数从 javascript 请求这些数据。它与一个过滤器完美搭配,我需要更多过滤器,但我不知道它们是如何设置的。

带有一个过滤器的示例(有效):

    var page = 1;
    var filters = [{"name": "device", "op": "eq", "val": 1}];       

    var url = 'http://..../results?page=' + page;

            $.ajax({
              url: url,
              data: {"q": JSON.stringify({"filters": filters})},
              dataType: "jsonp",
              type: "GET",
              contentType: "application/jsonp",
              success: function(responseData, textStatus, XMLHttpRequest) {...}
            });

对于我尝试的 2 个过滤器(它不起作用):

    var page = 1;
    var filters = [{"name": "device", "op": "eq", "val": 1},{"name": "device", "op": "eq", "val": 2}];      

    var url = 'http://..../results?page=' + page;

        $.ajax({
              url: url,
              data: {"q": JSON.stringify({"filters": filters},{"disjunction":true})},
              dataType: "jsonp",
              type: "GET",
              contentType: "application/jsonp",
              success: function(responseData, textStatus, XMLHttpRequest) {...}
         });

你们有没有人遇到过类似的问题?

4

1 回答 1

1

您需要给 JSON.stringify 一个数组以转换为字符串。

data: {"q": JSON.stringify([{"filters": filters},{"disjunction":true}])},
于 2013-09-03T18:01:04.643 回答