Debugging Adobe Campaign Javascript | Community
Skip to main content
October 18, 2019
Solved

Debugging Adobe Campaign Javascript

  • October 18, 2019
  • 4 replies
  • 6471 views

Being new to Campaign I am having trouble debugging JS code In Campaign..

I have a general question on the debugging aspect of the Code ( javascript )

  1. How to see the XML that is being returned . I tried doing logInfo( response ) in the below code, but nothing is shown

var query = xtk.queryDef.create( 
  <queryDef schema="nms:recipient" operation="get">   
    <select>     
      <node expr="@firstName"/>     
      <node expr="@lastName"/>     
      <node expr="@email"/>   
    </select>       
  </queryDef>)

var response = query.ExecuteQuery()
lofInfo( response.recipient ); =>  shows nothing

2. What are the tips/guidelines  for debugging the javascirpt code  in Campaign ?  how do the experts do it   :-)

cheers

akshay

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by Jyoti_Yadav

Hi,

Use below syntax:

var query = xtk.queryDef.create(
  <queryDef schema="nms:recipient" operation="get">  
    <select>    
      <node expr="@firstName"/>    
      <node expr="@lastName"/>    
      <node expr="@email"/>  
    </select>      
  </queryDef>)

var response = query.ExecuteQuery()

logInfo("response: "+ response.toXMLString());

Also if your output has more than one row then use for each loop.

for each( var res in response){

logInfo("response: "+ response.toXMLString());

}

Thanks.

4 replies

Raj_Ganta-1
October 18, 2019

hi,

logInfo( response.@firstName) will give log or for that matter any attribute you used in select node

2. What are the tips/guidelines for debugging the javascript code in the Campaign ?  how do the experts do it   :-)

use external debugger tools for the syntax and campaign does not have Linting to identify potential errors

Jyoti_Yadav
Jyoti_YadavAccepted solution
October 21, 2019

Hi,

Use below syntax:

var query = xtk.queryDef.create(
  <queryDef schema="nms:recipient" operation="get">  
    <select>    
      <node expr="@firstName"/>    
      <node expr="@lastName"/>    
      <node expr="@email"/>  
    </select>      
  </queryDef>)

var response = query.ExecuteQuery()

logInfo("response: "+ response.toXMLString());

Also if your output has more than one row then use for each loop.

for each( var res in response){

logInfo("response: "+ response.toXMLString());

}

Thanks.

Marcel_Szimonisz
Community Advisor
Community Advisor
October 21, 2019

Hello,

You need to display res.toXMLString()  instead of response or directly res.@firstName res.@lastName or res.@email

Marcel

akshay2Author
October 28, 2019

thanks a lot @jyotij .. I owe you a beer