首页 > 解决方案 > 为空时替换一个值(ZAPIER - Javascript)

问题描述

我想从 URL 中提取 3 个 UTM(utm_source、utm_medium、utm_campaign),并使用 zapier 中的这个 javascript 代码步骤将它们发送到下一步。

javascript代码完美运行:

    let url = inputData.URL;
 
    let queryString = url.split("?").pop();
    let urlParams = new URLSearchParams(queryString);
    let utm_source = urlParams.get('utm_source')
    let utm_campaign = urlParams.get('utm_campaign')
    let utm_medium = urlParams.get('utm_medium')
    let utm_term = urlParams.get('utm_term')
    let utm_content = urlParams.get('utm_content')
 
    output = [{url, queryString, utm_source, utm_campaign, utm_medium, utm_term, utm_content}];

当 URL 没有 UTM 时,问题就出现了。在这种情况下,该值为空,因此我想将其替换为默认值(例如“有机”)


我开始尝试这样的事情,但它不起作用:

if(utm_campaign === null || typeof utm_campaign === "undefined" || utm_campaign === "") {
utm_campaign = "ORGANIC";
}

请,¿有人可以帮我处理这个javascript代码吗?非常感谢你提前

标签: zapier

解决方案


ternary 这是使用运算符的绝佳机会:


    let url = inputData.URL;
     
        let queryString = url.split("?").pop();
        let urlParams = new URLSearchParams(queryString);
        let utm_source = urlParams.get('utm_source') ? urlParams.get('utm_source') : 'definitely not organic'
        let utm_campaign = urlParams.get('utm_campaign')
        let utm_medium = urlParams.get('utm_medium') ? urlParams.get('utm_medium') : 'organic'
        let utm_term = urlParams.get('utm_term')
        let utm_content = urlParams.get('utm_content')
     
        output = [{url, queryString, utm_source, utm_campaign, utm_medium, utm_term, utm_content}];

在这种情况下,您可以为每个变量选择一个默认值。


推荐阅读