$.ajax( ) example
Example 1: make ajax calls with jQuery
// GET Request
$.ajax({
url: "example.php?firstParam=Hello&secondParam=World", //you can also pass get parameters
dataType: 'json', //dataType you expect in the response from the server
timeout: 2000
}).done(function (data, textStatus, jqXHR) {
//your code here
}).fail(function (jqXHR, textStatus, errorThrown) {
console.log("jqXHR:" + jqXHR);
console.log("TestStatus: " + textStatus);
console.log("ErrorThrown: " + errorThrown);
});
//POST Request
var formData = {name: "John", surname: "Doe", age: "31"}; //Array
$.ajax({
url: "example.php",
type: "POST", // data type (can be get, post, put, delete)
data: formData, // data in json format
timeout: 2000, //Is useful ONLY if async=true. If async=false it is useless
async: false, // enable or disable async (optional, but suggested as false if you need to populate data afterwards)
success: function (data, textStatus, jqXHR) {
//your code here
},
error: function (jqXHR, textStatus, errorThrown) {
console.log("jqXHR:" + jqXHR);
console.log("TestStatus: " + textStatus);
console.log("ErrorThrown: " + errorThrown);
}
});
//Alternatively, the old aproach is
$.ajax({
url: "api.php?action=getCategories",
dataType: 'json',
timeout: 2000,
success: function (result, textStatus, jqXHR) { //jqXHR = jQuery XMLHttpRequest
/*You could put your code here but this way of doing it is obsolete. Better to use .done()*/
},
error: function (jqXHR, textStatus, errorThrown) {
console.log("jqXHR:" + jqXHR);
console.log("TestStatus: " + textStatus);
console.log("ErrorThrown: " + errorThrown);
}
});
Example 2: $.ajax({
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery.post demo</title>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<form action="/" id="searchForm">
<input type="text" name="s" placeholder="Search...">
<input type="submit" value="Search">
</form>
<div id="result"></div>
<script>
$( "#searchForm" ).submit(function( event ) {
event.preventDefault();
var $form = $( this ),
term = $form.find( "input[name='s']" ).val(),
url = $form.attr( "action" );
var posting = $.post( url, { s: term } );
posting.done(function( data ) {
var content = $( data ).find( "#content" );
$( "#result" ).empty().append( content );
});
});
</script>
</body>
</html>