zapier - 为空时替换一个值(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代码吗?非常感谢你提前
解决方案
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}];
在这种情况下,您可以为每个变量选择一个默认值。
推荐阅读
- javascript - 尝试使用 webpack ignorePlugin 从最终包中删除“react-hot-loader”
- javascript - JavaScript - 函数在 IE 中抛出错误,但在 Chrome、Firefox 等中运行良好
- heroku - 我可以使用 Heroku 创建网站构建器吗?
- css -
- 不占用侧边栏的整个宽度
- typescript - 如何声明对象或对象数组?
- angular - 是否可以在打字稿文件中定义一个 ng-template?
- python - 如何使用带有文本列表的scrapy
- swift - 无法创建 JSON 数组并将其分配给要作为参数发送到 Alamofire Post 请求的键?
- python - SQLite 索引行组?
- uber-api - 如何将我的点餐菜单整合到 Uber 外卖服务?