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

koldun_org

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

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

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 352
Благодарностей
3 279
Баллы
113
На втором шаге нужно изменить номер телефона.
Подскажите пожалуйста как это можно сделать.
В чём же основная проблема? Лучше всё же прикрепить пример.
Но я не знаю название переменной где хранится json (там очень много js кода - да и не селен я в нем)
Смахивает на изврат...
 

koldun_org

Новичок
Регистрация
06.11.2018
Сообщения
10
Благодарностей
0
Баллы
1
В чём же основная проблема? Лучше всё же прикрепить пример.

Смахивает на изврат...
Проблема в том что надо изменить передаваемые данные, и я не знаю как. Сайт показать не могу.
Если знаете решение (как в рамках программы изменить передаваемые данные ajax post) отблагодарю (USD) - В лычку пожалуйста...
 

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 802
Баллы
113
Одно из возможных решений - https://zennolab.com/discussion/threads/zablokirovat-ili-podmenit-js.46037/#post-341718

В том сообщении описывается метод ChangeResponse, он подменяет данные, которые мы получаем от сервера.
Есть ещё ChangeRequest - этот метод может подменять данные, которые мы отправляем на сервер, и в данной ситуации как раз он может помочь. Оба метода принимают одинаковые параметры, т.ч. описание из приведённого мною поста будет полезно, надо только будет изменить имя метода на ChangeRequest.
 
  • Спасибо
Реакции: koldun_org и Yuriy Zymlex

koldun_org

Новичок
Регистрация
06.11.2018
Сообщения
10
Благодарностей
0
Баллы
1
Одно из возможных решений - https://zennolab.com/discussion/threads/zablokirovat-ili-podmenit-js.46037/#post-341718

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

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

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 802
Баллы
113
Большое спасибо! Вроде то что нужно... (когда сделаю переведу на пиво)

В ProjectMaker пропала вкладка трафик (галочка в окнах стоит) Подскажите пожалуйста как исправить.
Радикальный метод (Внимание: будут сброшены настройки всех окон!) :
Project Maker -> Настройки -> Отладка -> в самом низу кнопка "Сбросить панели".
 

koldun_org

Новичок
Регистрация
06.11.2018
Сообщения
10
Благодарностей
0
Баллы
1
Одно из возможных решений - 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
    }
);
Спасибо за сброс панели (помогло)
 

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 802
Баллы
113
Здравствуйте.
Данные меняются но на сервер не уходят. Почему может быть? (Даже если меняю на тот же номер)
Код:
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

koldun_org

Новичок
Регистрация
06.11.2018
Сообщения
10
Благодарностей
0
Баллы
1
Сам с этим методом никогда не работал, поэтому потребовалось немного времени,чтоб протестировать.

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

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 802
Баллы
113
Скорее всего в зенке баг при подмене данных, когда отправка идёт с помощью AJAX. С простой формой всё прошло хорошо. Нашёл AJAX форму, но как и у ТС - данные подменились, но запрос словно завис (ответа от сервера я так и не дождался).
Версия ZP - 5.22.0.0

(это сообщение скорее для тех, кто когда-то попадёт на этот топик из Гугла)
 

koldun_org

Новичок
Регистрация
06.11.2018
Сообщения
10
Благодарностей
0
Баллы
1
Короче это баг программы! ((( - не передает ajax после изменения...
 

vrska

Client
Регистрация
07.02.2010
Сообщения
589
Благодарностей
406
Баллы
63
А может сервер проверяет, что вы ему шлете?
 

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 802
Баллы
113

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 802
Баллы
113
Во вложении два шаблона. Один написал я, второй - ТС (он сам не может добавить). Сайты разные, но результат один - запрос не уходит. Кому не лень, проверьте у себя. Да и на сам код можете посмотреть, возможно мы оба допустили какую-то ошибку.
 

Вложения

  • 37,6 КБ Просмотры: 20
  • 23,8 КБ Просмотры: 17

esp094

Client
Регистрация
07.09.2017
Сообщения
34
Благодарностей
6
Баллы
8
Так и есть - недавно проверял - не уходит
 
  • Спасибо
Реакции: nicanil

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 802
Баллы
113
Сегодня вышла в свет версия 5.23.0.0
В этой версии программы данная ошибка исправлена!


(опять-таки, это сообщение для тех, кто когда-то попадёт на этот топик из Гугла)
 

strannikk

Client
Регистрация
22.01.2010
Сообщения
124
Благодарностей
1
Баллы
18
Добрый день. Подскажите, как в заменяемое значение подставить переменную? на 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,
});
не работает.
 

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 802
Баллы
113
Добрый день. Подскажите, как в заменяемое значение подставить переменную?
Здравствуйте.

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

Какая у Вас версия программы?
Только что проверил на 7.2.1.0 - всё хорошо отработало.
 

p-sergei

Client
Регистрация
20.12.2016
Сообщения
523
Благодарностей
255
Баллы
63
@nicanil привет
Есть ещё ChangeRequest - этот метод может подменять данные, которые мы отправляем на сервер
подскажи по этому методу плиз, задача сделать подмену у запросе
вот как пример запроса - https://тут какой-то сайт/?sid=150&
надо заменить sid=150 на sid=2,
но проблема в том что на месте sid=150, может быть sid=140, sid=5 и так далее. Как тут можно сделать подмену что-то не могу сообразить, когда меняется вот это число?
 

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 802
Баллы
113
@nicanil привет

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

Но, если я не ошибаюсь, ChangeRequest и ChangeResponse меняют тело запроса, но не URL.
 
  • Спасибо
Реакции: p-sergei

p-sergei

Client
Регистрация
20.12.2016
Сообщения
523
Благодарностей
255
Баллы
63
Эти методы поддерживают регулярные выражения, т.е. вместо числа можно указать \d+ (одна и более подряд идущие цифры).
только после твоих слов обратил внимание и почитал, что там же регулярку можно воткнуть
1629618304804.png

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

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

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