如何使用jquery $ .get在查询字符串参数中传递json

时间:2016-09-11 15:21:29

标签: javascript jquery json ajax getjson

Jquery $ .get应该发送单个查询字符串参数_filters,其值为json string:

API/MyGet?_filters='{groupOp:"AND",rules:[{field:"Toode",op:"eq",data:"xxxx"}]}'&sort=code

我试过

$.get( 'API/MyGet',  {
   _filters:{ groupOp:"AND",
              rules:[{field:"Toode", op:"eq", data:'xxxx'}]
            },
   sort: 'code'
   },
   function(data) {
            alert( JSON.stringify(data) );
   }
   );

但Chrome开发者工具显示这会创建错误且奇怪的查询字符串:

_filters[groupOp]=AND&_filters[rules][0][field]=Toode&_filters[rules][0][op]=eq&_filters[rules][0][data]=

如何强制jquery获取传递正确的查询字符串?

1 个答案:

答案 0 :(得分:1)

var params = {
  sort: '...',
  _filters: JSON.stringify({
    'key': 'value'
  })
};

$.get('API/MyGet', params, function(data) {
  alert( JSON.stringify(data) );
});