Я пытаюсь отправить переменные с помощью ajax на php-страницу, поэтому, когда я нажимаю кнопку, отправленная переменная будет обновляться на странице без ее обновления.
У меня есть кнопка под названием #toshow, и при нажатии она отправит ?show=okay
в качестве сообщения.
$('#toshow' ).click( function( e ) {
$.post('?show=okay')
.done(function(data) {
});
});
и на моем php
if (isset($_POST['show']) && $_POST['show']) {
echo $_POST['show'];
}
Я нажимаю кнопку, но она не показывает текст «хорошо». Что еще мне нужно добавить, чтобы это заработало?
Спасибо!
🤔 А знаете ли вы, что...
JavaScript поддерживает работу с различными форматами данных, такими как JSON и XML.
Все, что вы печатаете с помощью echo
в PHP, будет доступно (если не произойдет ошибка) в переменной JavaScript data
в обратном вызове функции .done()
. Поэтому вам нужно реализовать этот обратный вызов для отображения возвращаемого текста там, где он вам нужен.
Пример:
.done(function(data) {
document.write(data);
});
Кроме того, способ отправки параметра show
на сервер (как часть URL-адреса) — это метод GET, а не POST. Если вы хотите использовать метод POST, передайте данные в качестве второго аргумента функции $.post()
:
$.post('', {
show: 'okay'
})
.done(...)
Вы отправляете переменную «show» в части запроса URL-адреса, затем вы должны получить ее из глобальной переменной $_GET... проверить...
$('#toshow' ).click( function( e ) {
$.post('', {"show": "okay"})
.done(function(data) {
console.info(data);
});
});
https://api.jquery.com/jquery.post/#jQuery-post-url-data-success-dataType