Получение результата выполнения php скрипта без перезагрузки страницы
Подскажите как можно получить результат php скрипта без перезагрузки страницы?
Есть динамичная форма:
<form action="#" method="POST">
<input type="text" name="ORDER" id="ORDER">
<input type="text" name="AMOUNT" id="AMOUNT">
<textarea id="P_SIGN" name="P_SIGN"></textarea>
<button type="submit" name="my_button">Отправить</button>
Нужно в textarea вывести результат хеширования данных с input'ов
Вот к чему я пришел спустя месяца попыток:
<?php
if( isset( $_POST['my_button'] ) )
{
$sha512 = hash("sha512",
$_POST['ORDER'] .= ";"
.$_POST['AMOUNT'] .= ";"
);
echo $sha512;
}
?>
Все работает, только вот результат появляется после того как форма уходит.
Ответы (1 шт):
Автор решения: Alexander
→ Ссылка
Советую посмотреть в сторону ajax.
$( 'form' ).submit(function(e) {
e.preventDefault();
var ajax_form = $(this);
$.ajax({
url: url, //url страницы (action_ajax_form.php)
type: "POST", //метод отправки
dataType: "html", //формат данных
data: ajax_form.serialize(),
success: function(response) { //Данные отправлены успешно
$('#P_SIGN').val(response);
},
error: function(response) { // Данные не отправлены
ajax_form.html('Ошибка. Данные не отправлены.');
}
});
});
PHP
<?php
if( isset( $_POST['my_button'] ) && isset( $_POST['ORDER'] ) && isset( $_POST['AMOUNT'] ))
{
$sha512 = hash("sha512", $_POST['ORDER'].';'.$_POST['AMOUNT'].';';
echo $sha512;
}
?>