我正在尝试找出服务器/客户端数据类型匹配。在带有 javascript 的 html 中,表单本身应该被发送到 google code.gs。
<body>
<form id='form1'>
<div>
....buttons and input texts...
</div>
-- 这里最后一个按钮的 onclick 我调用 lSubmit(this.parentNode)
<button type="button"
onclick="lSubmit(this.parentNode)"
id=btn>click</button>
</form>
<script>
var x = $("#output");
function lSubmit(formObj) {
x.html('Wait until verified.');
google.script.run
.withSuccessHandler(onSuccess)
.withFailureHandler(onFailure1)
.chkForm(formObj);
}
</script>
由于我对 parentNode 不太了解,所以我花了一整天的时间才弄清楚我的错误是什么。因为我在表单后使用了“div”,所以 lSubmit 正在使用 div。
我的问题是,
代码.gs
function chkForm(formObj) {
Logger.log("chkForm in Code.js called. id: %s",formObj.uname);
return 'You entered id' + formObj.uname + ' to login...';
}
当我发送 div,但 chkForm 想要接收表单时,不应该返回一些错误代码吗?但是在服务器日志中没有说“未定义”或对象类型或 formObj.uname 不存在某种排序。也不会最终导致 javascript withSuccessHandler、withFailureHandler。实际上,我认为 lSubmit 并没有被调用。因为我没有看到评论等到验证。
就像一些错字一样,这一次太难出了什么问题。
我问的最后一个问题在服务器返回日期但 javascript 无法处理的数据处理中也出现了错误。但在那种情况下, withFailureHandler 起作用了。所以很快就想通了。 但是,现在,我应该在哪里添加什么,以便我可以发现服务器和客户端之间的数据类型不匹配存在错误?就像在这种情况下,那个客户端发送了错误的数据?
javascript 是否因为看到不匹配而拒绝运行?