1

Flask-Restless のドキュメント (「検索クエリの作成」) では、特別な uri 形式の que でフレームワークをクエリすると、データベースをクエリできることがわかります。

フラスコ落ち着きのない

http://localhost:5000/api/person?q={"filters":[{"name": "age", "op": "ge", "val": 10}]}
http://localhost:5000/api/person?q={"filters":[{"name": "age", "op": "ge", "val": 10},{"name": "age", "op": "le", "val": 20}]}
...

jQuery.ajax または XMLHttpRequest を使用して、そのような GET クエリを簡単な方法で実行するにはどうすればよいですか?

jQuery.param()、encondeURI + JSON.stringify() でエンコードを試みました...

申し訳ありませんが、これは本当に明らかなことですが、うまくいきません。

 var url = "http://localhost:5000/api/person?";
 var obj = {"filters":[{"name": "age", "op": "ge", "val": 10}]};
 var jsn = JSON.stringify(obj);
 var encuri = encodeURI(url + "q=" + jsn); //NOPE
 var par = jQuery.param(jsn); //NOPE
 var raw = XMLHttpRequest();raw.open("GET", url + "q=" + encuri);raw.send() //NOPE
 ...

解決

$.ajax({
    url: 'http://localhost:5000/api/user',
    data: "q=" + JSON.stringify({"single":true,"filters":[{"name": "id", "op": "eq", "val": 1}]}),
    dataType: 'json',
    contentType: 'application/json; charset=utf-8'
});
4

2 に答える 2

2
$.ajax({
    url: 'blah',
    data: JSON.stringify(data),
    dataType: 'json',
    contentType: 'application/json; charset=utf-8'
});

ページに含まれている json2.js (および jquery) が必要です。

于 2013-02-25T23:01:04.850 に答える
1

まず、これらのクエリをエスケープする必要があることは確かです。

URI が正しくエンコードされていると仮定すると (encodeURI と encodeURIComponent を参照)、jQuery.parseJSON を実行できるはずです。

于 2013-02-25T22:44:58.103 に答える