Untuk membuat permintaan Ajax menggunakan jQuery Anda dapat melakukan ini dengan kode berikut.
HTML:
<form id="foo">
<label for="bar">A bar</label>
<input id="bar" name="bar" type="text" value="" />
<input type="submit" value="Send" />
</form>
<!-- The result of the search will be rendered inside this div -->
<div id="result"></div>
JavaScript:
Metode 1
/* Get from elements values */
var values = $(this).serialize();
$.ajax({
url: "test.php",
type: "post",
data: values ,
success: function (response) {
// You will get response from your PHP page (what you echo or print)
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(textStatus, errorThrown);
}
});
Metode 2
/* Attach a submit handler to the form */
$("#foo").submit(function(event) {
var ajaxRequest;
/* Stop form from submitting normally */
event.preventDefault();
/* Clear result div*/
$("#result").html('');
/* Get from elements values */
var values = $(this).serialize();
/* Send the data using post and put the results in a div. */
/* I am not aborting the previous request, because it's an
asynchronous request, meaning once it's sent it's out
there. But in case you want to abort it you can do it
by abort(). jQuery Ajax methods return an XMLHttpRequest
object, so you can just use abort(). */
ajaxRequest= $.ajax({
url: "test.php",
type: "post",
data: values
});
/* Request can be aborted by ajaxRequest.abort() */
ajaxRequest.done(function (response, textStatus, jqXHR){
// Show successfully for submit message
$("#result").html('Submitted successfully');
});
/* On failure of request this function will be called */
ajaxRequest.fail(function (){
// Show error
$("#result").html('There is error while submit');
});
The .success()
, .error()
dan .complete()
callback ditinggalkan pada jQuery 1.8 . Untuk mempersiapkan kode untuk penghapusan akhirnya mereka, menggunakan .done()
, .fail()
dan .always()
sebagai gantinya.
MDN: abort()
. Jika permintaan sudah dikirim, metode ini akan membatalkan permintaan.
Jadi kami telah berhasil mengirim permintaan Ajax, dan sekarang saatnya mengambil data ke server.
PHP
Saat kami membuat permintaan POST dalam panggilan Ajax ( type: "post"
), kami sekarang dapat mengambil data menggunakan salah satu $_REQUEST
atau $_POST
:
$bar = $_POST['bar']
Anda juga dapat melihat apa yang Anda dapatkan dalam permintaan POST hanya dengan baik. BTW, pastikan $_POST
sudah diatur. Kalau tidak, Anda akan mendapatkan kesalahan.
var_dump($_POST);
// Or
print_r($_POST);
Dan Anda memasukkan nilai ke dalam basis data. Pastikan Anda sensitif atau lolos dari semua permintaan (apakah Anda membuat GET atau POST) dengan benar sebelum membuat kueri. Yang terbaik adalah menggunakan pernyataan yang disiapkan .
Dan jika Anda ingin mengembalikan data apa pun ke halaman, Anda dapat melakukannya hanya dengan menggemakan data seperti di bawah ini.
// 1. Without JSON
echo "Hello, this is one"
// 2. By JSON. Then here is where I want to send a value back to the success of the Ajax below
echo json_encode(array('returned_val' => 'yoho'));
Dan kemudian Anda bisa mendapatkannya seperti:
ajaxRequest.done(function (response){
alert(response);
});
Ada beberapa metode tulisan cepat . Anda dapat menggunakan kode di bawah ini. Itu melakukan pekerjaan yang sama.
var ajaxRequest= $.post("test.php", values, function(data) {
alert(data);
})
.fail(function() {
alert("error");
})
.always(function() {
alert("finished");
});