คำอธิบายโดยย่อของ AJAX
AJAX เป็นเพียง JSON หรือ XML แบบ Asyncronous (ในสถานการณ์ที่ใหม่กว่าส่วนใหญ่) เนื่องจากเรากำลังทำงาน ASYNC เราจึงน่าจะมอบประสบการณ์ UI ที่สนุกสนานให้กับผู้ใช้ ในกรณีนี้เรากำลังดำเนินการส่งแบบฟอร์มโดยใช้ 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
ประโยชน์
รหัสของฉันสำหรับคุณโดยเฉพาะ (อธิบายไว้ในความคิดเห็นของโค้ด):
/* 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) {
$('#result').text('success');
});
posting.fail(function() {
$('#result').text('failed');
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<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">Last Name</label>
<input type="text" id="name2" name="name2">
</div>
<div>
<input type="submit" id="submitButton" name="submitButton" value="Submit">
</div>
</form>
<div id="result"></div>
เอกสารประกอบ
จาก$.post
เอกสารประกอบเว็บไซต์ jQuery
ตัวอย่าง : ส่งข้อมูลแบบฟอร์มโดยใช้คำร้องขอ 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 หรือที่เกี่ยวข้องกับการเข้าสู่ระบบ)