ajax中的非法调用错误(Jquery 1.7.1)

我试图使用jquery发布ajax请求

var peName = document.getElementById("peName").value; var peSubName = document.getElementById("peSubName").value; var peDesc = document.getElementById("peDesc").value; var pePrice = document.getElementById("pePrice").value; var peCat = document.getElementById("peCat"); var pecatId = peCat.options[peCat.selectedIndex].value; var radioActive = getRadioValue("proeActive"); var radioSpicy = getRadioValue("proeSpicy"); var radioVeg = getRadioValue("proeVeg"); $.post("/product/saveEditProduct", { peId : peId, pecatId : pecatId, peName : peName, peSubName : peSubName, peDesc : peDesc, pePrice : pePrice, radioActive : radioActive, radioSpicy : radioSpicy, radioVeg : radioVeg, }, 

但我在firebug控制台中遇到以下错误。

 Uncaught TypeError: Illegal invocation jQuery.extend.param.add jquery-1.7.1.js:7601 buildParams jquery-1.7.1.js:7658 buildParams jquery-1.7.1.js:7653 buildParams jquery-1.7.1.js:7653 jQuery.extend.param jquery-1.7.1.js:7621 jQuery.extend.ajax jquery-1.7.1.js:7467 jQuery.each.jQuery.(anonymous function) jquery-1.7.1.js:7106 editSaveProduct order-1.0.js:682 

我是jquery的新手,不知道它是什么?

好的,所以你似乎错过了你的函数调用闭包括号。

 $.post("/product/saveEditProduct", { peId : peId, pecatId : pecatId, peName : peName, peSubName : peSubName, peDesc : peDesc, pePrice : pePrice, radioActive : radioActive, radioSpicy : radioSpicy, radioVeg : radioVeg, }); 

我是新手,但当我做了类似以下的事情时,这个错误发生在我身上:

 // the following will *error* var element = $("#elementId"); $.post("/foo/bar/", { xxx : element }); 

任何时候你给$.poststring以外的东西,JS错误。 即, peIdpecatId等必须都是字符串,而不是jQuery对象。