Подмена данных в ajax запросе (json)

  • Автор темы Автор темы koldun_org
  • Дата начала Дата начала

koldun_org

Новичок
Регистрация
06.11.2018
Сообщения
10
Реакции
0
Баллы
1
Все здравствуйте.
Ситуация такая: Есть пошаговая форма. Каждый шаг отправляет ajax и формирует тело данных (json)
Допустим так
1 шаг ФИО и телефон. Нажали на кнопку, json данные ушли на сервер.
2 шаг адрес. Нажали на кнопку, и данные ФИО, телефон и адрес ушли на сервер..

На втором шаге нужно изменить номер телефона.
Подскажите пожалуйста как это можно сделать.
Я понимаю что можно js блок, и прописать изменение переменной. Но я не знаю название переменной где хранится json (там очень много js кода - да и не селен я в нем)
 
На втором шаге нужно изменить номер телефона.
Подскажите пожалуйста как это можно сделать.
В чём же основная проблема? Лучше всё же прикрепить пример.
Но я не знаю название переменной где хранится json (там очень много js кода - да и не селен я в нем)
Смахивает на изврат...
 
В чём же основная проблема? Лучше всё же прикрепить пример.

Смахивает на изврат...
Проблема в том что надо изменить передаваемые данные, и я не знаю как. Сайт показать не могу.
Если знаете решение (как в рамках программы изменить передаваемые данные ajax post) отблагодарю (USD) - В лычку пожалуйста...
 
Одно из возможных решений - https://zennolab.com/discussion/threads/zablokirovat-ili-podmenit-js.46037/#post-341718

В том сообщении описывается метод ChangeResponse, он подменяет данные, которые мы получаем от сервера.
Есть ещё ChangeRequest - этот метод может подменять данные, которые мы отправляем на сервер, и в данной ситуации как раз он может помочь. Оба метода принимают одинаковые параметры, т.ч. описание из приведённого мною поста будет полезно, надо только будет изменить имя метода на ChangeRequest.
 
  • Оценить
Реакции: koldun_org и ZX
Одно из возможных решений - https://zennolab.com/discussion/threads/zablokirovat-ili-podmenit-js.46037/#post-341718

В том сообщении описывается метод ChangeResponse, он подменяет данные, которые мы получаем от сервера.
Есть ещё ChangeRequest - этот метод может подменять данные, которые мы отправляем на сервер, и в данной ситуации как раз он может помочь. Оба метода принимают одинаковые параметры, т.ч. описание из приведённого мною поста будет полезно, надо только будет изменить имя метода на ChangeRequest.
Большое спасибо! Вроде то что нужно... (когда сделаю переведу на пиво)

В ProjectMaker пропала вкладка трафик (галочка в окнах стоит) Подскажите пожалуйста как исправить.
 
Большое спасибо! Вроде то что нужно... (когда сделаю переведу на пиво)

В ProjectMaker пропала вкладка трафик (галочка в окнах стоит) Подскажите пожалуйста как исправить.
Радикальный метод (Внимание: будут сброшены настройки всех окон!) :
Project Maker -> Настройки -> Отладка -> в самом низу кнопка "Сбросить панели".
 
Одно из возможных решений - https://zennolab.com/discussion/threads/zablokirovat-ili-podmenit-js.46037/#post-341718

В том сообщении описывается метод ChangeResponse, он подменяет данные, которые мы получаем от сервера.
Есть ещё ChangeRequest - этот метод может подменять данные, которые мы отправляем на сервер, и в данной ситуации как раз он может помочь. Оба метода принимают одинаковые параметры, т.ч. описание из приведённого мною поста будет полезно, надо только будет изменить имя метода на ChangeRequest.
Здравствуйте.
Данные меняются но на сервер не уходят. Почему может быть? (Даже если меняю на тот же номер)
Код:
Развернуть Свернуть Копировать
string num = project.Variables["num"].Value.ToString();
instance.ChangeRequest("https://site.ru",
    new List<string>
    {
        num
    },
    new List<string>
    {
        num
    }
);

Спасибо за сброс панели (помогло)
 
Здравствуйте.
Данные меняются но на сервер не уходят. Почему может быть? (Даже если меняю на тот же номер)
Код:
Развернуть Свернуть Копировать
string num = project.Variables["num"].Value.ToString();
instance.ChangeRequest("https://site.ru",
    new List<string>
    {
        num
    },
    new List<string>
    {
        num
    }
);

Спасибо за сброс панели (помогло)
Сам с этим методом никогда не работал, поэтому потребовалось немного времени,чтоб протестировать.

Делал на примере сайта http://programmerbook.ru/html/form/action/ (во вложении будет шаблон). Использовал этот сайт только потому, что он первый, который попался с формой и обработкой этой формы на стороне сервера, чтоб увидеть подменяются ли данные. Форма не ajax, но суть та же.
Внизу страницы форма, мы в ней выбираем ответ "нет", но в запросе делаем подмену на "yes" и на сервер уходит именно "yes", это видно по ответу сервера.
Если всё-равно будут затруднения то нужен сайт на котором осуществляется подмена (можно в личку). Если сайт палить не хочется, то можно другой сайт дать, но с такой же, или подобной, формой, чтоб на примере этого сайта сделать подмену.
 

Вложения

  • Оценить
Реакции: p-sergei и volody00
Сам с этим методом никогда не работал, поэтому потребовалось немного времени,чтоб протестировать.

Делал на примере сайта http://programmerbook.ru/html/form/action/ (во вложении будет шаблон). Использовал этот сайт только потому, что он первый, который попался с формой и обработкой этой формы на стороне сервера, чтоб увидеть подменяются ли данные. Форма не ajax, но суть та же.
Внизу страницы форма, мы в ней выбираем ответ "нет", но в запросе делаем подмену на "yes" и на сервер уходит именно "yes", это видно по ответу сервера.
Если всё-равно будут затруднения то нужен сайт на котором осуществляется подмена (можно в личку). Если сайт палить не хочется, то можно другой сайт дать, но с такой же, или подобной, формой, чтоб на примере этого сайта сделать подмену.
Стукните пожалуйста мне в скайп (koldun_org)
 
Скорее всего в зенке баг при подмене данных, когда отправка идёт с помощью AJAX. С простой формой всё прошло хорошо. Нашёл AJAX форму, но как и у ТС - данные подменились, но запрос словно завис (ответа от сервера я так и не дождался).
Версия ZP - 5.22.0.0

(это сообщение скорее для тех, кто когда-то попадёт на этот топик из Гугла)
 
Короче это баг программы! ((( - не передает ajax после изменения...
 
А может сервер проверяет, что вы ему шлете?
 
Во вложении два шаблона. Один написал я, второй - ТС (он сам не может добавить). Сайты разные, но результат один - запрос не уходит. Кому не лень, проверьте у себя. Да и на сам код можете посмотреть, возможно мы оба допустили какую-то ошибку.
 

Вложения

  • 2.xmlz
    2.xmlz
    37,6 KB · Просмотры: 23
  • 1.xmlz
    1.xmlz
    23,8 KB · Просмотры: 18
Так и есть - недавно проверял - не уходит
 
  • Оценить
Реакции: nicanil
Сегодня вышла в свет версия 5.23.0.0
В этой версии программы данная ошибка исправлена!


(опять-таки, это сообщение для тех, кто когда-то попадёт на этот топик из Гугла)
 
Добрый день. Подскажите, как в заменяемое значение подставить переменную? на 7 зенке у меня код вида :
instance.ChangeRequest("https://blog.com/",
new List<string>
{
"unknown nature"
},
new List<string>
{
"<a href='123.html'><img src='http://123.jpg' alt=''></a>",
}
);
работает, а такой:
var par = project.Variables["new_post"].Value;

instance.ChangeRequest("https://blog.com/",
new List<string>
{
"unknown nature"
},
new List<string>
{
par,
});
не работает.
 
Добрый день. Подскажите, как в заменяемое значение подставить переменную?
Здравствуйте.

А что конкретно не работает? Не меняется значение или происходит ошибка?
Если не меняется значение, то перепроверьте, чтоб в переменной project.Variables["new_post"].Value было сохранено необходимое для подстановки значение.

Какая у Вас версия программы?
Только что проверил на 7.2.1.0 - всё хорошо отработало.
 
@nicanil привет
Есть ещё ChangeRequest - этот метод может подменять данные, которые мы отправляем на сервер
подскажи по этому методу плиз, задача сделать подмену у запросе
вот как пример запроса - https://тут какой-то сайт/?sid=150&
надо заменить sid=150 на sid=2,
но проблема в том что на месте sid=150, может быть sid=140, sid=5 и так далее. Как тут можно сделать подмену что-то не могу сообразить, когда меняется вот это число?
 
@nicanil привет

подскажи по этому методу плиз, задача сделать подмену у запросе
вот как пример запроса - https://тут какой-то сайт/?sid=150&
надо заменить sid=150 на sid=2,
но проблема в том что на месте sid=150, может быть sid=140, sid=5 и так далее. Как тут можно сделать подмену что-то не могу сообразить, когда меняется вот это число?
Привет.
Эти методы поддерживают регулярные выражения, т.е. вместо числа можно указать \d+ (одна и более подряд идущие цифры).

Но, если я не ошибаюсь, ChangeRequest и ChangeResponse меняют тело запроса, но не URL.
 
  • Оценить
Реакции: p-sergei
Эти методы поддерживают регулярные выражения, т.е. вместо числа можно указать \d+ (одна и более подряд идущие цифры).
только после твоих слов обратил внимание и почитал, что там же регулярку можно воткнуть
1629618304804.png

до этого примеры смотрел там через список конкретных значений заходили на подмену - это и ввело в заблуждение.

Но, если я не ошибаюсь, ChangeRequest и ChangeResponse меняют тело запроса, но не URL.
- тут всё нормально должно быть, по клику мыши уходит Get -запрос, вот в нем и хочу на лету замену сделать.
Спасибо буду пробовать.
 
  • Оценить
Реакции: nicanil

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)