You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在邀请邮件发送成功时添加Alert提示?

如何在邀请邮件发送成功时添加Alert提示

你需要在fetch请求的成功处理流程中添加提示,具体位置在清空输入框的逻辑之后,或者单独新增一个.then()回调。以下是两种实现方式:

方式一:直接在请求成功后添加提示

这种方式适用于只要请求返回HTTP 2xx状态码,就认为发送成功的场景:

async function invitePeopleToMyTeam(){
    let [invites,invite_statuses] = [[],$Q('.invitation-data.invite-access').slice(0,20)];

    $Q('.invitation-data.invite-email').slice(0,20).map((i,ind)=>{
        if(~i.value.search(/.+@.+\..+/gi)){
            invites.push({
                email:i.value.trim().toLowerCase(),
                status:invite_statuses[ind].options[invite_statuses[ind].selectedIndex].innerHTML.slice(0,1).toLowerCase()
        });
        }else{
            invite_statuses[ind] = null;
        }
    });

    for(let i=0,il=invites.length; i<il; i++){
        if(invites[i] === null){
            invites.splice(i,1); // 修正原代码错误:split改为splice才能删除数组元素
            il--;
            i--;
            continue;
        }
        if(invites[i].status == null || invites[i].status == ""){
            invites[i].status = "m";
        }
    }
    if(invites.length===0 || invites.filter(e=>e).length===0){
        alert('There don\'t seem to be any e-mails in your invite list. Please review and try again.');
        return false;
    }
    
    let sql = `./invitePeople.cfc?method=sendInvite`;
    let params = {"invites" : invites};

    let result = await fetch(sql, {
        method:"post",
        headers: {
            'Accept': 'application/json',
            'Content-Type': 'application/json'
        },
        body: JSON.stringify(params)
    })
    .then(resp => resp.text())
    .then(resp=>{console.log(resp); return resp})
    .then(r=>{
        $Q('.invitation-data.invite-email').slice(0,20).map((i,ind)=>{
            i.value= "";
        });
        // 在这里添加成功提示
        alert("your email is sent");
    })
    .catch(e=>{
        console.log(e);
        // 可选:添加请求失败的提示
        alert("Failed to send invitation emails");
    });
}

方式二:根据后端返回结果判断后提示(更严谨)

如果后端会返回业务层面的成功/失败标识(比如JSON格式的{"success": true}),建议先解析返回结果再判断是否弹出提示:

async function invitePeopleToMyTeam(){
    // 前面的代码保持不变...
    
    let result = await fetch(sql, {
        method:"post",
        headers: {
            'Accept': 'application/json',
            'Content-Type': 'application/json'
        },
        body: JSON.stringify(params)
    })
    .then(resp => resp.json()) // 改成解析JSON格式返回值
    .then(resp=>{
        console.log(resp);
        // 假设后端返回success字段表示业务处理成功
        if(resp.success){
            alert("your email is sent");
            // 清空输入框
            $Q('.invitation-data.invite-email').slice(0,20).map((i,ind)=>{
                i.value= "";
            });
        } else {
            alert("Failed to send invitations: " + (resp.message || "Unknown error"));
        }
        return resp;
    })
    .catch(e=>{
        console.log(e);
        alert("Failed to send invitation emails");
    });
}

内容的提问来源于stack exchange,提问作者11lll

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 22:57:01