在 javascript 中创建一个 link 以设置 public 渲染参数的值

Create a link in javascript to set value of public render parameter

我正在尝试在 javascript 中创建一个 link,单击它时,会在 WebSphere Portal.
中设置 public render parameter 的值 出于某种原因,我在生成的 href 中看到了实际代码,而不是应该传入的值。

下面是我如何在 javascript ..

中创建 link
var a = document.createElement('a');
var linkText = document.createTextNode('This is a link');
a.appendChild(linkText);
a.title = 'This is a link';
a.href = '[Plugin:RenderURL pr1.mode="set" pr1.type="public" pr1.key="sources" pr1.value=' + JSON.parse(http.responseText).uniqueID + ']';

这是我在 Firefox Inspector devtools 中看到的..

<a href="p0/IZ7_9O5CH940L8BE00AQSQ97LA0811=CZ6_9O5CH940LON880AAN4OSND00N6=MEsources!QCLQCAJSON.parse(http.responseText).uniqueIDQCAQCL==/#Z7_9O5CH940L8BE00AQSQ97LA0811" title="This is a link">This is a link</a>

我知道这可能是一个转义问题,但我已经尝试了很多变体,我应该如何为我的 link 正确创建 href

使用表单设置 prp 的示例,与上面的锚点相同..

// create form to set PRP
var f = document.createElement('form');
f.setAttribute('method', 'GET');
f.setAttribute('action', '[Plugin:RenderURL copyCurrentParams="true"]');

var filters = document.createElement('input');
filters.setAttribute('type', 'hidden');
filters.setAttribute('name', 'sorting');
filters.value = 'This is my new value!';

var s = document.createElement('input'); //input element, Submit button
s.setAttribute('type', 'submit');
s.setAttribute('value', 'Set');

f.appendChild(filters);
f.appendChild(s);
document.body.appendChild(f);
f.submit();