我使用 jQuery 的 ajax 来注册用户。我在我的网站上使用了几乎完全相同的代码来做类似的事情,但出于某种原因,下面的代码在 Firebug 中抛出了这个错误。
错误:
uncaught exception: [Exception... "Not enough arguments" nsresult: "0x80570001 (NS_ERROR_XPC_NOT_ENOUGH_ARGS)" location: "JS frame :: <a href="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js" rel="noreferrer noopener nofollow">http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js</a> :: add :: line 5437" data: no]
调用:
lzaUserAPI.doAUserSignup(signupUsername, signupPassword, signupEmail, signupFullname, signupCompanyName, signupWebsite, signupPhone, lzaSigninup.onAUserSignedUp);
Ajax 函数:
doAUserSignup : function(username, password, email, fullname, companyname, website, phone, callback){
// Add to server
var paras = {cmd : 'doAUserSignup', us: username, ps: password, em: email, flnm: fullname, cpnm: companyname, wbst: website, phne: phone};
$.ajax({
url: lzaUserAPI.m_url,
dataType: "json",
data: paras,
success: function(ret){callback(ret)}
});
},
回调:
onAUserSignedUp : function (ret) {
alert ('yea!!!');
//Todo: log them in
}
有什么想法吗?提前致谢!
最佳答案
问题出在转换数据对象的代码中。因为我们看不到所有的代码,所以不清楚。这是您要做的,像这样更改代码:
// var paras = {cmd : 'doAUserSignup', us: username, ps: password, em: email, flnm: fullname, cpnm: companyname, wbst: website, phne: phone};
var paras = {cmd : 'doAUserSignup'};
看看它是否有效,如果它确实开始添加元素,直到您发现问题。
关于javascript - 神秘的 jQuery AJAX 错误需要更多参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4115225/