jQuery.post并不总是发送表单数据

Cur*_*urt 9 javascript jquery post http-post jquery-post

我正在使用jQuery Post函数,例如:

var fooVar = true;
var barVar = 1;
var bazVar = "baz";

$.post("url",
   {
        foo: fooVar,
        bar: barVar,
        baz: bazVar
   },
   function(){
     alert("success");
   }
);
Run Code Online (Sandbox Code Playgroud)

在我的日志中,我看到一个间歇性的问题,即"url"没有任何表单参数的请求,我只有一个函数调用它.

是否有一种情况可以触发POST请求,而不发送jQuery Post中指定的表单参数?


我希望看到:

富=真巴= 1&巴兹=巴兹

但是根本没有表格参数:


更新:这个问题似乎主要是在Internet Explorer浏览器(IE7-IE11)上查看统计数据,但它不是IE独有的(Chrome,Firefox也有问题).

Cur*_*urt 2

当参数值为 时,jQuery Post 可以发送没有表单参数的请求undefined

例如,如果我们有以下内容:

var fooVar = undefined;
var barVar = 1;
var bazVar = "baz";

$.post("url",
   {
        foo: fooVar,
        bar: barVar,
        baz: bazVar
   },
   function(){
     alert("success");
   }
);
Run Code Online (Sandbox Code Playgroud)

那么发布的表单参数将是:

条=1&baz=baz

现在这并不能解决我的实际问题(据我所知,正确的条件已经到位,只有在所有变量都有值时才进行调用),但它确实回答了我的问题。