神秘的jQuery AJAX错误需要更多的参数

Kyl*_*yle 4 javascript ajax firefox jquery

我用jQuery的ajax来注册用户.我几乎使用下面的确切代码在我的网站上做类似的东西,但由于某种原因,下面的代码在Firebug中抛出此错误.

错误:

uncaught exception: [Exception... "Not enough arguments" nsresult: "0x80570001 (NS_ERROR_XPC_NOT_ENOUGH_ARGS)" location: "JS frame :: http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js :: add :: line 5437" data: no]

呼叫:

lzaUserAPI.doAUserSignup(signupUsername, signupPassword, signupEmail, signupFullname, signupCompanyName, signupWebsite, signupPhone, lzaSigninup.onAUserSignedUp);
Run Code Online (Sandbox Code Playgroud)

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)}
    });
},
Run Code Online (Sandbox Code Playgroud)

打回来:

onAUserSignedUp : function (ret) {

    alert ('yea!!!');
    //Todo: log them in
}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?提前致谢!

Hog*_*gan 9

问题出在转换数据对象的代码中.因为我们无法看到所有代码到底哪些不清楚.这是你做的,改变代码如下:

// var paras = {cmd : 'doAUserSignup', us: username, ps: password, em: email, flnm: fullname, cpnm: companyname, wbst: website, phne: phone};
var paras = {cmd : 'doAUserSignup'};
Run Code Online (Sandbox Code Playgroud)

看看是否有效,如果确实开始添加元素,直到找到问题为止.

  • !这完全有助于调试它.原来,其中一个参数是作为DOM对象而不是值传递的,但是直到我按照你的建议进行操作时才很难在代码中找到它.谢谢!! (4认同)