Я предполагаю, что form
отправляет и обновляет страницу, прежде чем ajax сможет ответить.
Попробуйте поставить return false;
в конце обработчика click
.
$('#submit-html').click(function() {
$.ajax({
url: 'controller.php',
type: 'POST',
dataType:'json',
success: function(data) {
alert("response begin");
alert(data);
$.each(data, function (i, elem) {
$('#array-values').append('<div>'+elem+'</div>');
});
}
});
return false;
});
Конечно, у вас возникнет та же проблема, если пользователь нажмет Enter
в одном из полей.Если вы не препятствуете отправке формы ключом Enter
, вы можете обработать событие, используя обработчик submit()
.
$('#parse-form').submit(function() {
$.ajax({
url: 'controller.php',
type: 'POST',
dataType:'json',
success: function(data) {
alert("response begin");
alert(data);
$.each(data, function (i, elem) {
$('#array-values').append('<div>'+elem+'</div>');
});
}
});
return false;
});