Javascript 应用程序脚本WebApp不一致地处理参数
我有一个独立的GoogleApps脚本,用于显示数据表和编辑条目。使用url地址末尾的参数加载这两个页面。 我有两个可能的参数{edit,entry}。 第一个参数edit只能有一个值“form”,表示我需要访问编辑页面,条目号用于标识要编辑的表条目Javascript 应用程序脚本WebApp不一致地处理参数,javascript,google-apps-script,Javascript,Google Apps Script,我有一个独立的GoogleApps脚本,用于显示数据表和编辑条目。使用url地址末尾的参数加载这两个页面。 我有两个可能的参数{edit,entry}。 第一个参数edit只能有一个值“form”,表示我需要访问编辑页面,条目号用于标识要编辑的表条目 function doGet(e) { // Retrieve and process any URL parameters, as necessary. Logger.log(e.parameter.edit); Logger.log
function doGet(e) {
// Retrieve and process any URL parameters, as necessary.
Logger.log(e.parameter.edit);
Logger.log(e.parameter.entry);
Logger.log(e.parameter);
if (e.parameter.edit == "form" & e.parameter.entry) {
Logger.log("edit");
return EditEntry(e.parameter.entry);
} else {
Logger.log("table");
return LoadTable();
}
}
正如您所看到的,doGet函数是直接的,它将根据参数提供两个不同的其他函数。
我的问题是,根据输入值,if函数可能无法很好地处理它。
例如,带有“?edit=form&entry=4444”的url给出以下日志:
Infos form Infos 5555 Infos{entry=5555,edit=form}Infos edit
带有“?edit=test&entry=5555”的url提供以下日志:
Infos test Infos 5555 Infos{entry=5555,edit=form}Infos表
但是带有“?edit=form&entry=4444”的url给这个日志:
Infos form Infos 4444 Infos{entry=4444,edit=form}Infos表
并没有满足我的期望。
正如我从日志中看到的,这并不是说条目不存在(它确实存在),而是它甚至没有试图寻找它。
所以我的问题是,如果(e.parameter.edit==“form”&e.parameter.entry)对?edit=test&entry=5555是真的,而对?edit=test&entry=4444是假的,那么究竟为什么
注意:我可以放弃edit
参数,因为它只能接受一个值,这样就不会有任何错误,但是我的开发路径需要传递其他参数,所以我需要它
任何帮助都将不胜感激 试试这个:
function doGet(e) {
if (e.parameter.edit == "form" && e.parameter.entry) {
return EditEntry(e.parameter.entry);
} else {
return LoadTable();
}
}