Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Не могу передать данные из формы в php (https://javascript.ru/forum/dom-window/75605-ne-mogu-peredat-dannye-iz-formy-v-php.html)

laimas 28.10.2018 13:03

id="kg", id="lb" для чего? Не увлекайтесь id, это не является обязательным условием, в данном случае они совсем не нужны и кроме как загрузка лишних байт клиентом ничего не дает. Можно кнопке отправке дать id, для того чтобы обратиться к ней до запроса, сделав ее недоступной, и доступной после завершения запроса. Хотя есть и другие способы, которые позволяют получить эту кнопку без всяких id, она между прочим доступна уже в событии произошедшем.

Никаких ошибок в Ajax нет, и код должен работать, смотреть ответ сервера в отладчике. Но проверять асинхронный запрос посредством перенаправления header('Location: http://www.google.com/'); это глупость, ответ приходит в контейнер, никакого перенаправления не увидеть, и это чужой домен. Ну и уже не раз говорилось, что предписано получать json, а вы пытаетесь таким образом впарить клиенту иное, как поступит JQ уже говорилось. И если в РНР:

прием формы и ответ json как echo ...
далее код ...

это предпосылка к ошибке, ибо файл может завершаться выводом в браузер - пробелы, переносы ..., а это уже не json. Только exit(json_encode(array)), пора это усвоить.

Chmil 28.10.2018 14:22

laimas,
спасибо огромное, заработало, теперь чуть больше начал понимать как выполнять процес отладки приложений, проблема еще была в другом, в файл плагина необходимо было добавить строку
require($_SERVER['DOCUMENT_ROOT'].'/wp-load.php');


Цитата:

exit(json_encode(array))
Вы имеете ввиду что мой ответ сервера нужно переделать? например так?
$arr = array('result' => '123456789');
exit(json_encode($arr));

laimas 28.10.2018 14:31

Цитата:

Сообщение от Chmil
Вы имеете ввиду что мой ответ сервера нужно переделать?

Просто нужно запомнить, если данные это json, то любой вывод в браузер до и после вывода json запрещается. Поэтому нужно заканчивать работу скрипта после передачи json, если после него есть еще код или неконтролируемый вывод. И после передачи заголовка перенаправления также рекомендуется делать выход. А дабы исключить неконтролируемый вывод в браузер разработчики рекомендуют не закрывать закрывающим тегом ?> php-код.


Часовой пояс GMT +3, время: 14:41.