Javascript 在没有回调的情况下发送post,得到太多的递归

Javascript 在没有回调的情况下发送post,得到太多的递归,javascript,jquery,Javascript,Jquery,所以我在一个预先存在的站点上工作,我试图添加一个点,在这个点上代码发送一些数据。当它到达my.post()时,我得到以下错误: too much recursion http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js Line 16 以下是流程: 某些链接文本具有以下onclick处理程序: <a class="lucida_12pxBlueLH16" onclick="changeCipherAdmin(6);

所以我在一个预先存在的站点上工作,我试图添加一个点,在这个点上代码发送一些数据。当它到达my.post()时,我得到以下错误:

too much recursion
http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js
Line 16
以下是流程:

某些链接文本具有以下onclick处理程序:

<a class="lucida_12pxBlueLH16" onclick="changeCipherAdmin(6); return false;" href="#">Keyword: SLEEP</a>

function changeCipherAdmin(num) {
    tempHTML = '';
    tempHTML += '<select id="select_cipher' + num + '" name="select_cipher' + num + '" class="select_tanbg" onchange="updateKeyFieldsAdmin(this.value,' + num + ',1);">';
    tempHTML += '       <option id="option' + num + '_admin1" value="1">Additive</option>';
    tempHTML += '       <option id="option' + num + '_admin2" value="2">Affine</option>';
    tempHTML += '       <option id="option' + num + '_admin3" value="3">Caesar</option>';
    tempHTML += '       <option id="option' + num + '_admin4" value="4">Keyword</option>';
    tempHTML += '       <option id="option' + num + '_admin5" value="5">Multiplicative</option>';
    tempHTML += '       <option id="option' + num + '_admin6" value="6">Vigen&egrave;re</option>';
    tempHTML += '</select>';
    document.getElementById('admin_cipher' + num).innerHTML = tempHTML;
    document.getElementById('option' + num + '_admin' + ciphers[num]).selected = true;
    updateKeyFieldsAdmin(ciphers[num], num, 0);
}

我试着加入一个回电,加入event.stopPropagation或return等,但不知道为什么。如果您有任何想法/帮助,我们将不胜感激。

因此它最终成为了一个var打字错误:

keysA[row] = keysA;
keysB[row] = keysB;

这基本上是将对象分配给它的一个元素,这导致了jquery试图处理该元素时的递归。

我强烈怀疑您的问题在这里:

keysA[row] = keysA;
keysB[row] = keysB;

您正在创建一个循环结构,而jQuery在试图通过参数对象进行跟踪时正在失去理智。

$($($($)))
您的“checkKeysAdmin”函数定义了三个参数,但您只传递了两个。@pointy抱歉正在进行故障排除并复制了错误的代码段
keysA[row] = keysA;
keysB[row] = keysB;
keysA[row] = keysA;
keysB[row] = keysB;