У меня проблемы с пониманием того, как использовать jQuery и его плагин Form для доступа к данным, возвращаемым после операции HTTP.
Например, я хотел бы отправлять данные в форме из браузера, обрабатывать данные на сервере, возвращать ответ сервера (в JSON) в браузер и отображать информацию об этом ответе пользователю в предупреждении. - без переписывания формы.
Я думал, что следующий код jQuery сделает это:
$(document).ready(function() {
$('#ajaxFormSubmit').bind('click', function(event) {
$('#data_entry_form').ajaxSubmit({
url: "data_entry_ajax",
dataType: "json",
success: function(data) {
alert('Success');
alert(data.save_status);
}
});
});
});
Сервер возвращает следующее в объекте JSON:
{'save_status': 'OK', 'id_number': 2}
Но вместо отображения двух предупреждений над формой и введенными пользователем данными браузер стирает форму и отображает ответ JSON.
Я думал, что значение "success" в опциях, переданных ajaxSubmit, автоматически передавало ответ, полученный от сервера. Я пробовал различные варианты передачи аргументов в тело функции (ссылаясь на data
, не передавая его, ссылаясь на responseText
с передачей и не передавая ничего внутри), но они тоже не работают.
Я посмотрел на «jQuery In Action», чтобы понять, как получить доступ к ответу на объект xhr и функцию .ajax (), но это тоже не помогло.