У меня есть автономный скрипт приложений Google, который используется для отображения таблицы данных и редактирования записей. Две страницы загружаются с использованием параметров в конце URL-адреса. У меня есть два возможных параметра {edit, entry}. Первое редактирование параметра может иметь только одно значение "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 может не работать должным образом. Например, URL с "? Edit = form & entry = 4444" дает этот журнал:
Форма информации Информация 5555 Информация {entry = 5555, edit = form} Информация редактировать
URL с "? Edit = test & entry = 5555" дает этот журнал:
Infos test Infos 5555 Infos {entry = 5555, edit = form} Таблица информации
НО URL-адрес с "? Edit = form & entry = 4444" дает этот журнал:
Форма информации Информация 4444 Информация {entry = 4444, edit = form} Таблица информации И не дает мне того, что я ожидал. Как я могу видеть из журнала, это не значит, что запись не существует (она есть ..), но он даже не пытается ее искать. Итак, мой вопрос: почему if (e.parameter.edit == "form" & e.parameter.entry)
ИСТИНА для? Edit = test & entry = 5555 и FALSE для? Edit = test & entry = 4444
NB: я мог бы отказаться от параметра edit
, как это возможно Возьмите только одно значение, и тогда ошибки не будет вообще, но мой путь разработки потребует от меня передачи другого параметра, поэтому он мне нужен ...
Любая помощь будет принята с благодарностью!