2017-12-13 9 views
0

Webhook 응답을 처리하기 위해 Zapier를 사용하고 있으며 첫 번째 입력 이름이 비어 있는지 확인한 다음 두 번째를 반환해야합니다.체크 문자열이 비어 있지 않습니다 - Zapier Javascript - 대체 값을 반환하십시오.

생각 나는 이름과 닉네임. 사용자가 NAME1에 닉네임을 입력 한 경우 해당 이름을 사용하고 그렇지 않은 경우 실제 이름을 NAME2으로 반환합니다.

이것은 다른 단계의 필수 입력란에 name 변수를 사용하면 작동하지 않지만 Zapier에서 단계로 추가 한 JavaScript 코드입니다. 나는 두 output을 할당하고 마지막에 반환하거나 if 문에서 반환 시도

작업 Hostory를 통해 액세스 Output code의 작업 기록

스크린 샷을 통해 액세스 Input code

var output = 'No Name'; 
if(inputData.NAME1 != '') { 
    output ={name: inputData.NAME1}; 
} else { 
    output= {name: inputDate.NAME2}; 
} 
return output; 

스크린 샷.

Zapier 테스트 단계에서는 정상적으로 작동하는 것처럼 보입니다. 실행될 때 실패합니다.

답변

1

데이비드 플랫폼 팀.

문제가 비교 대상입니다. NAME1이 (가) 전달되지 않으면 undefined입니다.

JS에서 undefined은 ''와 같지 않으므로 첫 번째 분기가 항상 실행됩니다. 죄송 합니다만 NAME1은 정의되지 않았으므로 출력에 표시되지 않습니다.

다음에 코드를 단순화 할 수 있습니다 :

return {name: inputData.NAME2 || inputData.NAME1 || 'No Name'}

은 당신이 원하는 순서대로 이름을 선택, 플러스 기본이됩니다.

다른 질문이 있으면 알려주세요.

+0

감사합니다. 이전에이 형식이 사용 된 것을 보지 못했지만 정상적으로 작동합니다. –