02.06.2017, 17:18
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Как вам еще объяснить я не знаю.
$this->area = trim(stripslashes($details['area'])); - это не гарантия того, что в $details['area'] вообще что-то есть (тоже самое и остальное). Надеяться на то, что клиент проверяет? Так это глупо. А отправлять почту по адресу $this->my_mail не проверяя его вообще, так это недопустимо!
$this->subject = "Заказ с калькулятора!"; в таком виде можно просто и не прочесть.
$this->response_status всегда равен 1, то есть иного и не дано, проверять что именно так на клиенте уже бессмысленно.
То есть код такой - пуста или нет форма, в любом случае отправка и клиент получает ответ (JSON). Открывайте отладчик и смотрите в нем, чем отвечает сервер.
|
|
02.06.2017, 18:52
|
Профессор
|
|
Регистрация: 21.02.2016
Сообщений: 271
|
|
что я могу сказать?... "грешно смеяться над убогими" - я же сразу признался, что в js понимаю мало (практически ничего).
По своей наивности надеялся, что если на одном вордпресс-сайте все это работает, то и на другом должно (кстати, на исходном сайте в скрипте вместо jQuery стояло $, но у меня на это сразу консоль начала ругаться и я поменял везде - может где-то не надо было...)
...надеялся на помощь "для чайников" (
|
|
02.06.2017, 19:06
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от Igorsrt
|
"грешно смеяться над убогими
|
Да никто не смеется. Ну вот как можно сказать о представленном коде что-то хорошее, если он дырявый? На пальцах, то можно к примеру так - я могу отослать в качестве мыла множество адресов, а так как сервер вообще ничего не проверяет, надеясь на клиента, то mail() отправит мою спам рассылку. О последствиях можно и не говорить, а они могут быть суровыми.
Сообщение от Igorsrt
|
кстати, на исходном сайте в скрипте вместо jQuery стояло $, но у меня на это сразу консоль начала ругаться
|
Это потому, что $ могут использовать и другие фреймоворки. Можно вместо этого использовать jQuery или же jQuery.noConflict().
Мне то собственно все равно, хотите используйте этот дырявый код, дело ваше. А для того, почему не получается, хотя если вы считаете, что все ОК и должно, откройте отладчик браузера и проверьте в нем ответ сервера на запрос. Это ведь сделать не сложно.
|
|
02.06.2017, 19:17
|
Профессор
|
|
Регистрация: 21.02.2016
Сообщений: 271
|
|
Сообщение от laimas
|
А для того, почему не получается, хотя если вы считаете, что все ОК и должно, откройте отладчик браузера и проверьте в нем ответ сервера на запрос. Это ведь сделать не сложно.
|
Наверное не сложно, но я не умею видимо (... там где я смотрю в хроме, отображаются только js и css файлы (а этот скрипт встроен в php)...
...про то что там все сделано "не правильно и плохо" я не спорю (потому что не особо понимаю, но догадываюсь что так оно и есть)... но пусть лучше пока так, чем никак
|
|
02.06.2017, 19:24
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Ну так изучайте отладчик, в интернете же сидите, не в публичной библиотеке где такая книжка не обязательно есть. )
|
|
02.06.2017, 19:59
|
Профессор
|
|
Регистрация: 21.02.2016
Сообщений: 271
|
|
как всегда "методом тыка" и буржуйским гуглом мне удалось решить проблему: строчка
data = JSON.parse(data);
просто не нужна в этом скрипте и вызывала ошибку “Uncaught SyntaxError: Unexpected token o” в консоли... жалко только что убил на это весь день (
|
|
02.06.2017, 20:30
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
А кто ее туда вставил?
О JSON.parse(data) говорилось в самом начале, что это такое и зачем.
Просто запомните на будущее - если методу .post не указать явно тип принимаемых данных, то он попытается их определить сам (при передаче заголовка сервером - гарантированно). Если это будет json, то вы получите готовый объект, а значит попытка его парсить как json JSON.parse вернет ошибку.
Гуглить полезно, но куда полезнее знать что отправляет клиент и что получает в ответ. Методы тыка тут не действуют.
|
|
02.06.2017, 20:36
|
Профессор
|
|
Регистрация: 21.02.2016
Сообщений: 271
|
|
я согласен с Вами, но учить некому... так что вот "тыкаюсь"... спасибо )
|
|
03.06.2017, 10:59
|
Профессор
|
|
Регистрация: 21.02.2016
Сообщений: 271
|
|
|
|
03.06.2017, 11:44
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от Igorsrt
|
в чем разница: в хостинге или версии jquery?
|
В типе данных возвращаемых сервером и на кого возлагается их обработка.
Например, пусть их обрабатывает клиент и он ожидает JSON, а посему получает объект самостоятельно JSON.parse(data). И если это отдать на откуп этим братьям, серверу и клиенту, не контролируя процесс, то есть большая вероятность ошибок на клиенте. Например, при ошибках на сервере, клиенту будет возвращен не JSON, а сообщение об ошибке, формат вывода которых не является валидным json, будет возникать ошибка на клиенте.
|
|
|
|