[Ликбез]

Форма входа
Логин:
Пароль:

Меню сайта

Тема закрыта

Скрипты и коды для юкоз - Форум аццкого кодера » Как сделать... » Получение данных с Нова Пошта. PHP + JavaScript getJSON

Получение данных с Нова Пошта. PHP + JavaScript getJSON
[16] true [27.12.2013, 03:46]
chila,лично мое мнение,лучше воспользоваться вариантом когда Флеш доступ откроет. так надежнее.
[17] chila [27.12.2013, 04:00]
Да, действительно нет смысла в js... не подумал про сторонний хост..
А форма перестала работать, возможно, где-то просмотрел, но у Вас она тоже не работает(

Добавлено (27.12.2013, 04:00)
---------------------------------------------
Пардон, заработало.. видно на почте эрор был. Ну а раз работает, возвращаемся к благодарности.$?))

[18] likbezz [27.12.2013, 04:08]
chila,
Цитата chila, Пт, 27.12.2013, 04:00:18
А форма перестала работать, возможно, где-то просмотрел, но у Вас она тоже не работает(

У себя правлял скрит - дописал кеширование запросов, что бы лишний раз не дергать novaposhta.ua.
...

Цитата chila, Пт, 27.12.2013, 04:00:18
Ну а раз работает, возвращаемся к благодарности.

В смысле у вас заработало?

Ну, сумма не принципиальна ) сколько накините, столько и будет.
Код
WebMoney:
R426443544810
Z120914141775


Все, всем спокойной..
[19] chila [27.12.2013, 04:17]
Да, сегодня пополню WMZ...
Правка скрипта, возможно... у меня получается так, что скрипт работает 1 раз за 10 минут..., возможно совпадение или где-то что-то нужно подправить?
Спасибо
[20] likbezz [27.12.2013, 04:22]
Цитата chila, Пт, 27.12.2013, 04:17:29
у меня получается так, что скрипт работает 1 раз за 10 минут..., возможно совпадение или где-то что-то нужно подправить?

Ссылку на проблему, завтра посмотрю
Должен работать нормально, если novaposhta.ua отвечает нормально.
[21] chila [27.12.2013, 04:33]
Ссылка - предыдущая страница этого форума)).. в Вашем примере работает точно также, 1-2 раза отправляет, потом все, глухо... ну или тишина. кнопку нажимаешь и ничего не происходит. Да, и хотелось бы, чтобы replace не было, а текст просто добавлялся к форме, вдруг человеку нужно проверить еще несколько номеров... В общем как-то так.)
[22] likbezz [27.12.2013, 08:12]
chila,
Цитата chila, Пт, 27.12.2013, 04:33:48
Ссылка - предыдущая страница этого форума)).. в Вашем примере работает точно также, 1-2 раза отправляет, потом все, глухо...

Ну не знаю..









Проверено в Мозилла, Опера, Хром, ИЕ
Прикрепления: 5112232.png (25.6 Kb) · 7158239.png (24.3 Kb) · 6031308.png (27.6 Kb) · 7655096.png (27.5 Kb)
[23] likbezz [27.12.2013, 08:20]
Цитата chila, Пт, 27.12.2013, 04:33:48
Да, и хотелось бы, чтобы replace не было, а текст просто добавлялся к форме, вдруг человеку нужно проверить еще несколько номеров...

Тогда надо еще делать защиту от повторного нажатия - идиотов много есть..
Вместо
Код
$("#poshta_likbezz").html($.parseJSON(data.result));

вот это:
Код
$("#poshta_likbezz").prepend($.parseJSON(data.result));

или append
Код
$("#poshta_likbezz").append($.parseJSON(data.result));

смотря куда надо..
Или вообще в другой блок..
Код
$("#drugoi_blok").html($.parseJSON(data.result));

..
[24] chila [27.12.2013, 15:31]
Да, да.. работает, нашел момент, когда перестает работать. Если груз получен, то "новая почта" выдает другой результат (пример - 59000038085528); и, соответственно, ничего не подтягивается. Тоже самое происходит, если в поле ввести несуществующий номер или номер с дефисами, хотя это я уже решил, добавив небольшой код в инпут, может кому понадобится, прошу поправить если что-то не правильно:
Код
onKeypress="if (event.keyCode < 45 || event.keyCode > 57) event.returnValue=false"
[25] likbezz [27.12.2013, 18:06]
chila,
Цитата chila, Пт, 27.12.2013, 15:31:21
Если груз получен, то "новая почта" выдает другой результат (пример - 59000038085528); и, соответственно, ничего не подтягивается. Тоже самое происходит, если в поле ввести несуществующий номер или номер с дефисами..




..вообще-то именно это я предусмотрел - груз не найден..

С остальным - спасибо, поправил.
Код
if (!d) return alert('Введите номер накладной');
if (d.length != 14) return alert('Введите коррктный номер накладной - 14 символов');
if ((d-0) != d) return alert('Введите корректный номер накладной - возможны только цифры');

...

Цитата chila, Пт, 27.12.2013, 15:31:21
onKeypress="if (event.keyCode < 45 || event.keyCode > 57) event.returnValue=false"

? стремный вариант, по моему..
Во первых не исключает введения некорректных символов, например - - тире, точки, слеш и т.п.
Во вторых препятствует исправлению - не работает бекспейс...
Ну а в третьих - сам onкeypress - неуместное событие в данном случае. И вообще оно мне не нравиться - некрасиво дергать браузер при каждом нажатии клавиши..
И напоследок - не исключает вставки из буфера, любых символов..
...

В общем, вот так получилось:
Нова Пошта. PHP + JavaScript getJSON
---
Прикрепления: 8607093.png (6.9 Kb)
[26] true [27.12.2013, 18:18]
Цитата likbezz, Пт, 27.12.2013, 18:06:53
Ну а в третьих - сам onкeypress - неуместное событие в данном случае.


дергать клаву лишний раз вообще неуместно.
принято же,чисто ввод текстовки.
[27] chila [30.12.2013, 14:13]
Спасибо, WMZ отправил...
Практически все работает, но если отправление по номеру декларации было получено, то в ответ тишина, например:59000039952067
можете проверить? спасибо
[28] likbezz [30.12.2013, 19:25]
chila,
Цитата chila, Пн, 30.12.2013, 14:13:29
Практически все работает, но если отправление по номеру декларации было получено, то в ответ тишина, например:59000039952067
можете проверить? спасибо

Проверил, работает



Пост 22 если что
---
Прикрепления: 1734739.png (8.5 Kb)
[29] chila [30.12.2013, 20:13]
Нет, не работает(, даже в Вашем примере... попробую с других браузеров..
странно, почему именно с номерами, которые получены? выше упомянутый номер не хочет никак. Ладно, буду думать, спасибо за помощь.
[30] likbezz [30.12.2013, 22:24]
chila,
Цитата chila, Пн, 30.12.2013, 20:13:04
странно, почему именно с номерами, которые получены? выше упомянутый номер не хочет никак

Да, нашел проблему - Хром спотыкается на табуляции..
Код
$text = str_replace(array("\r\n", "\r", "\n", "\t"), "", $text);

Это вместо:
Код
$result = preg_replace("/\r?\n/", '', $result);

...


Полная версия сайта