Expand my Community achievements bar.

Adobe Campaign User Groups are live now. Join our Adobe Campaign User Groups and connect with your local leaders!
SOLVED

Debugging Adobe Campaign Javascript

Avatar

Level 2

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

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

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.

View solution in original post

4 Replies

Avatar

Level 6

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

Avatar

Correct answer by
Community Advisor

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.

Avatar

Community Advisor

Hello,

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

Marcel

Avatar

Level 2

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