Javascript 在使用jQuery发送AJAX请求时,如何省略数据对象中的参数?

Javascript 在使用jQuery发送AJAX请求时,如何省略数据对象中的参数?,javascript,jquery,ajax,Javascript,Jquery,Ajax,我使用AJAX请求jQuery获取数据集合。一些端点支持过滤数据的额外选项,例如api.com/users/?name=chr 当数据参数eg name为空时,我不希望请求发送它 我试过这个{name:name!==?name:null} 但是请求将“name”参数作为空字符串发送,例如api.com/users/?name=&anotherparam=value [编辑] 由于可能的解决方案是从发送的数据对象中删除空属性,因此它被标记为重复,因此我想澄清一下,首先我想使用一个功能参数,如果存在

我使用AJAX请求jQuery获取数据集合。一些端点支持过滤数据的额外选项,例如api.com/users/?name=chr

当数据参数eg name为空时,我不希望请求发送它

我试过这个{name:name!==?name:null} 但是请求将“name”参数作为空字符串发送,例如api.com/users/?name=&anotherparam=value

[编辑]


由于可能的解决方案是从发送的数据对象中删除空属性,因此它被标记为重复,因此我想澄清一下,首先我想使用一个功能参数,如果存在jQuery,则省略框架,正如我在回答中所说,当以空数组/对象的形式发送数据值时,jQuery会忽略它。
因此,此数据对象{name:name!==?name:[]}将从请求中省略参数名称。

您如何发送请求?假设它是AJAX,并且您提供了一个对象,您只需删除空属性即可。@Rorymcrossan我知道您可以做到这一点。您可以在请求之前创建并传递对象,但是,如果有很多属性,并且想要一种更简单、更易于维护的方法,那又该怎么办呢?使用一个函数从任何对象中删除空属性要比为每个属性编写一个三元组(运行前需要知道谁的名字)简单得多,更易于维护。@Rorymcrossan首先谢谢你花时间回答-忘了提这一点,但我想,很难根据个人喜好、特定领域的知识水平、技能等轻易区分简单与否。因此,是的,也许你描述的解决方案更简单,但就我的案例品味而言,重构代码的时间等等,我将采用我在回答中描述的方法@RoryMcCrossan也可以肯定这不是的重复,因为我不想显式地从数据对象中删除属性,而是使用framework jQuery的一个功能(如果存在的话)。只需省略name属性即可。如果您不需要,请不要发送空字符串。@Elish感谢您的回答,但正如我在回答中以及在对原始问题的编辑中所述,我想使用框架的一项功能(如果存在),即省略参数