网址编码问题-Tableau JS API

时间:2019-10-14 14:49:07

标签: encoding tableau urlencode

我正在尝试使用已传入的过滤器选项加载tableau仪表板,javascript api正确编码了字符串,但是当我在值中使用,时,编码无法按预期方式工作,并且仪表板也无法使用已应用的过滤器加载

这是两个代码的比较

1)这可以正常工作并加载仪表板,并将操作员设置为Yuson Creek,且过滤器api生成的网址为https://myurl&Operator=Yuson%20Creek&:apiID=host0#navType=1&navSrc=Parse

tableauViz = new tableau.Viz(frameDiv[0], url, {
  highdpi: true,
  hideTabs: true,
  hideToolbar: true,
  width: "100%",
  height: "100%",
  "Operator": ["Yuson Creek"]
}); 

2)此代码无效,且过滤器值设置为“ Abc,M.L. Corp.”并生成网址https://myurl&Operator=Abc%2C%20M.L.%20Corp.&:apiID=host0#navType=1&navSrc=Parse

tableauViz = new tableau.Viz(frameDiv[0], url, {
  highdpi: true,
  hideTabs: true,
  hideToolbar: true,
  width: "100%",
  height: "100%",
  "Operator": ["Abc, M.L. Corp."]
}); 

看起来像当过滤器值在字符串中包含逗号时,URL编码无法按预期工作。我还尝试传递诸如“ Abc%2C + M.L. + Corp”之类的字符串。但仍然无法正常工作。

当字符串值中包含逗号时,如何传递它。

在此方面的任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:1)

昨天我使用Tableau API检索视图图像时遇到了同样的问题。通过在逗号前面添加编码的转义字符可以解决此问题。因此,编码后逗号变成%5C%2C。