storing an array of strings in a profile attribute

kevin_faurholt 15-10-2015

Hi,

I have the following profile script:

user.arrayTest

if (mbox.name == "kevins_mbox") {
  user.setLocal("arrayTest", ["hello", "world"]);
  return user.getLocal("arrayTest");
}

However, when trying to use the array in a JS offer via: ${user.arrayTest}

The final output looks like this: [hello, world] - i.e. the quotes are missing and a JavaScript error is thrown.

According to this document: http://microsite.omniture.com/t2/help/en_US/tnt/pdf/js_expression_cheat_sheet.pdf

"Script Profile Parameters are found under the mboxes/profiles tab. You 
can write Javascript programs that return any Javascript type (String, 
integer, array, etc)"

Can someone tell me what I am doing wrong here?

Many thanks,

Kevin

Accepted Solutions (1)

Accepted Solutions (1)

AllDayDev
Employee
15-10-2015

With just the snippet above, quotation marks should not be getting removed.

However, they would not be printed out if you were trying to display/use one of the elements of the array. i.e. you would need to something like this get the quotation marks printed out:

['"hello"', '"world"']

It would be helpful to have some more context.

What is the JavaScript error you are getting?

Can you be more specific about what you are doing with ${user.arrayTest}?

Is it possible to share the page on which you are trying to implement this custom code? a link to the page, the page code, etc.

 

- Carey