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

how to pass json in query string parameter with jquery $.get

本文关键字:参数 json 字符串 查询 jquery 何使用 get      更新时间:2023-09-26

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传递正确的查询字符串

var params = {
  sort: '...',
  _filters: JSON.stringify({
    'key': 'value'
  })
};
$.get('API/MyGet', params, function(data) {
  alert( JSON.stringify(data) );
});