Tkreks
@Tkreks
Системный инженер

JS IF ELSE в JSON post запросе, как реализовать?

Приходят данные с формы сайта, я их разбираю и получаю данные в формате json, дальше мне нужно выполнить проверку заполнено поле или нет, если заполнено то передать их дальше в post запросе, если не заполнено то ничего не делать.
Входные данные выглядят так -
60decaef121e0480031523.png
Я хочу сделать сделать проверку, IF\ELSE.
Если form.NAME = noone, тогда ничего
Иначе "NAME" : form.NAME;
Мой скрипт выглядит так -
//Объявляю переменную
var formname = msg.form.NAME
//Служебная информация метода, url, тип данных
msg.headers = {}
msg.method = "POST"
msg.url = "http://127.0.0.1:1880/tst" ;
msg.headers["content-type"] = "application/json"
//Сам скрипт в msg.payload и есть тело запроса
msg.payload = {
    //если formname = noone, то пропускаем и ничего не делаем
    if (formname = 'noone') {
        //
    }
    //Иначе добавляем в тело "NAME" : formname
    else {
      "NAME": formname;  
    }
// Это просто данные в формате JSON
"PHONE":"+79876543210",

};
//возвращаем в поток
return msg


Но мой скрипт не работает, валидатор выдаёт ошибки
60decf1c4dda6001722072.png
60decf29e07c4540597472.png
  • Вопрос задан
  • 82 просмотра
Решения вопроса 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
if - это команда языка, она не может находиться внутри объявления данных.
msg.payload = { PHONE: '+79876543210', };
if (formname !== 'noone') {
  msg.payload.NAME = formname;
}
Ответ написан
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
msg.payload = {
  PHONE: "+79876543210",
};

if (formname !== 'noone') {
  msg.payload.NAME = formname;
}

или
msg.payload = {
  PHONE: "+79876543210",
  NAME: formname === 'noone' ? undefined : formname,
};
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы