运行报考代码函数出现报错该如何修改

看到有大神发布了刷代码报考的流程,后来想研究一下稍做修改变成通过代码实现修改考点信息的功能,按照流程稍作修改返回值可以到修改信息的界面。然后只修改了提示信息并没有修改原有的函数,在运行过程中运行代码报错如下:

 

代码如下:

let signInfo = {

    Ed: '10000044',

    Etitle: ' 2021年6月20日项目管理资格认证考试',

    Stype: '101',

    StypeName: '项目管理师(PMP®)',

    Xing: 'XXX', //你的姓拼音

    Zhong: '',

    Ming: 'XXXX', //你的名字拼音

    Peixunjigou: 'XXXX',//培训机构代码

    Peixunjigouming: 'XXXX',//培训机构名称

    PMIUname: '英文账号',

    PMIUpass: '英文密码',

    IsPMIUser: false,

    PMINumber: '',

    PMIUtimeB: '',

    PMIUtimeE: '',

    PMItimeB: new Date(1600704000000), //pmi有效期起始时间,用时间戳转换工具

    PMItimeE: new Date(1632240000000), //pmi有效期截止时间,用时间戳转换工具

    Kaodian: 'XXXX', //考点id,待获取

    Kaodianming: 'XXXXX', //考点名,待确认

    PMIID: 'XXXX',//PMID

}



function trySign(u) {

    SHOW.Ajax.User.Examsign.Sign(

        u.Ed,

        u.Etitle,

        u.Stype,

        u.StypeName,

        u.Xing,

        u.Zhong,

        u.Ming,

        u.Peixunjigou,

        u.Peixunjigouming,

        u.PMIUname,

        u.PMIUpass,

        u.IsPMIUser,

        u.PMINumber,

        u.PMIUtimeB,

        u.PMIUtimeE,

        u.PMItimeB,

        u.PMItimeE,

        u.Kaodian,

        u.Kaodianming,

        u.PMIID,

        res => {

            if (res.value != null) {

                alert("修改考点成功", "修改提示:", function () {

                    window.location.href = "myexam" + SHOW.Config.Ext;

                });

            } else {

                console.log(`修改失败!AT::${Date.now()}, 重试中...`);

                trySign(u);

            }

        });

}



trySign(signInfo);

 

根据报错信息 "Uncaught TypeError: Cannot read property 'Ajax' of undefined" 来看,是因为 SHOW 变量未定义,导致代码执行时无法找到 SHOW.Ajax 对象。因此需要查看代码中是否缺少 SHOW 变量的定义。

建议在代码中添加 SHOW 变量的定义,例如:

let SHOW = {
    Ajax: {
        User: {
            Examsign: {
                Sign: function (ed, etitle, stype, stypename, xing, zhong, ming, peixunjigou, peixunjigouming, pmiuname, pmiupass, ispmiuser, pminumber, pmiutimeb, pmiutimee, pmitimeb, pmitimee, kaodian, kaodianming, pmiid, callback) {
                    // 根据实际代码添加具体实现
                }
            }
        },
        Config: {
            Ext: '.html'
        }
    }
};

同时,根据代码中的注释,修改信息成功后需要切换到相应的界面,此时应该检查目标界面的 URL 是否正确,是否需要在 URL 后面添加必要的参数等。