Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 应用程序脚本WebApp不一致地处理参数_Javascript_Google Apps Script - Fatal编程技术网

Javascript 应用程序脚本WebApp不一致地处理参数

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

我有一个独立的GoogleApps脚本,用于显示数据表和编辑条目。使用url地址末尾的参数加载这两个页面。 我有两个可能的参数{edit,entry}。 第一个参数edit只能有一个值“form”,表示我需要访问编辑页面,条目号用于标识要编辑的表条目

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();
  }  
}