我正在尝试使用 hashids 插件ticket_id
在 for 循环中进行散列。
for (var i = 0; i < result.length; i++) {
var hashids = new Hashids("", 5);
var id = hashids.encode(result[i].ticket_id);
console.log(hashids);
[...]
html += '<tr class="ticketClick" data-url="' + baseURL + id>' [...]
}
表格的 HTML 是根据result
ajax 调用传递的动态生成的。单击表行时,我会重定向到 data-url 属性中的 url。
问题是 hashids 没有运行,因此id
没有附加到 url。
产生的控制台日志hashids
:
Hashids {version: "1.0.2", minAlphabetLength: 16, sepDiv: 3.5, guardDiv: 12, errorAlphabetLength: "error: alphabet must contain at least X unique characters"…}
我已经搜索了错误并没有找到任何东西......
我觉得奇怪的是,如果我将一个整数直接传递给 hashids 方法,例如:
var id = hashids.encode(20);
编码工作并返回预期的哈希值。
console.logresult[i].ticket_id
返回预期的整数,因此 for 循环可以正常工作。new Hashids()
在循环之外声明for
似乎没有什么不同。所以我不确定这里出了什么问题。有什么建议么?