如何在 google 应用程序脚本中的按钮函数调用中传递对象
How to pass an object inside a function call of a button in google app script
我无法正确解析对象。此代码在后端。
var dummy = { rohan: "sharma" };
var downButton ='<input type="button" value="Download" onclick="downloadFileAutomatically(\'' + JSON.stringify(dummy) +'\')" />';
在前端呈现为
<input type="button" class="btn btn-link btn-xs" value="Download JSON" onclick="downloadFileAutomatically('{" rohan":"sharma"}')"="">
最后的 )"=""
部分是随机错误的。
单击此按钮时,浏览器会抛出 Uncaught SyntaxError: Invalid or unexpected token
,这是预期的行为。
我应该如何处理引号层次结构才能使其正常工作。
可能的解决方案
Using string interpolation and encoded JSON string
var dummy = { rohan: "sharma" };
var downButton =`<input type="button" value="Download" onclick="downloadFileAutomatically('${encodeURIComponent(JSON.stringify(dummy))}')"/>`;
或澄清
var dummy = { rohan: "sharma" };
var dummyEncoded = encodeURIComponent(JSON.stringify(dummy))
var downButton =`<input type="button" value="Download" onclick="downloadFileAutomatically('${dummyEncoded}')"/>`;
它转义 JSON 数据的单引号和双引号,因此可以将其放在引号内。使用 decodeURIComponent()
获取原始 JSON 字符串。
但是您也可以通过其他方式转义 JSON 字符串。
提示:您可以使用 event listeners
而不是 onclick
来减少代码和格式设置 error-prone.
我无法正确解析对象。此代码在后端。
var dummy = { rohan: "sharma" };
var downButton ='<input type="button" value="Download" onclick="downloadFileAutomatically(\'' + JSON.stringify(dummy) +'\')" />';
在前端呈现为
<input type="button" class="btn btn-link btn-xs" value="Download JSON" onclick="downloadFileAutomatically('{" rohan":"sharma"}')"="">
最后的 )"=""
部分是随机错误的。
单击此按钮时,浏览器会抛出 Uncaught SyntaxError: Invalid or unexpected token
,这是预期的行为。
我应该如何处理引号层次结构才能使其正常工作。
可能的解决方案
Using string interpolation and encoded JSON string
var dummy = { rohan: "sharma" };
var downButton =`<input type="button" value="Download" onclick="downloadFileAutomatically('${encodeURIComponent(JSON.stringify(dummy))}')"/>`;
或澄清
var dummy = { rohan: "sharma" };
var dummyEncoded = encodeURIComponent(JSON.stringify(dummy))
var downButton =`<input type="button" value="Download" onclick="downloadFileAutomatically('${dummyEncoded}')"/>`;
它转义 JSON 数据的单引号和双引号,因此可以将其放在引号内。使用 decodeURIComponent()
获取原始 JSON 字符串。
但是您也可以通过其他方式转义 JSON 字符串。
提示:您可以使用 event listeners
而不是 onclick
来减少代码和格式设置 error-prone.