Javascript 无法在Ajax上的窗口上执行postMessage

Javascript 无法在Ajax上的窗口上执行postMessage,javascript,ajax,Javascript,Ajax,我为ajax请求定制了一个节流阀 问题是我不断地得到这个错误 未捕获的TypeError:未能对“窗口”执行“postMessage”:需要1个参数,但只存在0个 该行指向$.ajax{ HTML: JS: 正如您所见,我已经尝试将直接形式的VAL移动到变量等中,但我无法让它继续工作。当我用console.log替换ajax部分时,它会按预期运行。我已经四处查看了一下,但我仍然不太理解错误的含义,因为ajax传递了一个数组 感谢您抽出时间此错误可能是由于 var $t = $(t

我为ajax请求定制了一个节流阀

问题是我不断地得到这个错误

未捕获的TypeError:未能对“窗口”执行“postMessage”:需要1个参数,但只存在0个

该行指向$.ajax{

HTML:

JS:

正如您所见,我已经尝试将直接形式的VAL移动到变量等中,但我无法让它继续工作。当我用console.log替换ajax部分时,它会按预期运行。我已经四处查看了一下,但我仍然不太理解错误的含义,因为ajax传递了一个数组


感谢您抽出时间

此错误可能是由于

        var $t = $(this);
您正试图将$t作为title:parameter的值发送给

data: {
    title: $t,
    id: daid
},
但是jQuery对象不能序列化为POST参数


您需要将$t设置为适当的标题字符串。我不知道它在您的应用程序中的什么位置,但这应该可以解决它。

获取错误的postMessage调用在哪里?视频速度太快,我无法理解您试图显示的内容。但是postMessage与AJAX无关。它在jQuery中,请参阅stacktrace:错误是ha出现在$.param中。我认为问题是因为标题:$t.$t是$this,您无法序列化jQuery对象。无论如何,您希望$this在setInterval函数中是什么?至于它抱怨postMessage的原因,是因为$.param调用它将找到的方法,这是非常奇怪的IMM。是的,请参阅sourc中的此注释e code://如果value是一个函数,则调用它并使用其返回值这允许您写入数据:{foo:function{$bar.val}。当您希望创建一次data:parameter并动态填充值时,这非常有用。
        var $t = $(this);
data: {
    title: $t,
    id: daid
},