Ответ 1
Краткое описание AJAX
AJAX - это просто асинхронный JSON или XML (в большинстве новых ситуаций JSON). Поскольку мы выполняем задачу ASYNC, мы, вероятно, будем предоставлять нашим пользователям более приятный интерфейс. В этом конкретном случае мы делаем отправку FORM с использованием AJAX.
Действительно быстро есть 4 общих веб-действия GET
, POST
, PUT
и DELETE
; они напрямую соответствуют SELECT/Retreiving DATA
, INSERTING DATA
, UPDATING/UPSERTING DATA
и DELETING DATA
. Веб-форма HTML/ASP.Net по умолчанию /PHP/Python или любое другое действие form
- это "отправить", что является действием POST. Из-за этого ниже все будет описывать выполнение POST. Однако иногда с http вы можете захотеть другое действие и, вероятно, захотите использовать .ajax
.
Мой код специально для вас (описан в комментариях к коду):
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
</head>
<body>
<form id="formoid" action="studentFormInsert.php" title="" method="post">
<div>
<label class="title">First Name</label>
<input type="text" id="name" name="name" >
</div>
<div>
<label class="title">Name</label>
<input type="text" id="name2" name="name2" >
</div>
<div>
<input type="submit" id="submitButton" name="submitButton" value="Submit">
</div>
</form>
<script type='text/javascript'>
/* attach a submit handler to the form */
$("#formoid").submit(function(event) {
/* stop form from submitting normally */
event.preventDefault();
/* get the action attribute from the <form action=""> element */
var $form = $( this ),
url = $form.attr( 'action' );
/* Send the data using post with element id name and name2*/
var posting = $.post( url, { name: $('#name').val(), name2: $('#name2').val() } );
/* Alerts the results */
posting.done(function( data ) {
alert('success');
});
});
</script>
</body>
</html>
Документация
Из документации на сайте jQuery $.post
.
Пример: отправка данных формы с использованием запросов ajax
$.post("test.php", $("#testform").serialize());
Пример: опубликуйте форму, используя ajax, и поместите результаты в div
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
</head>
<body>
<form action="/" id="searchForm">
<input type="text" name="s" placeholder="Search..." />
<input type="submit" value="Search" />
</form>
<!-- the result of the search will be rendered inside this div -->
<div id="result"></div>
<script>
/* attach a submit handler to the form */
$("#searchForm").submit(function(event) {
/* stop form from submitting normally */
event.preventDefault();
/* get some values from elements on the page: */
var $form = $(this),
term = $form.find('input[name="s"]').val(),
url = $form.attr('action');
/* Send the data using post */
var posting = $.post(url, {
s: term
});
/* Put the results in a div */
posting.done(function(data) {
var content = $(data).find('#content');
$("#result").empty().append(content);
});
});
</script>
</body>
</html>
Важное примечание
Без использования OAuth или как минимум HTTPS (TLS/SSL), пожалуйста, не используйте этот метод для защиты данных (номера кредитных карт, SSN, все, что связано с PCI, HIPAA или входом в систему)