Professional Documents
Culture Documents
What is AJAX?
AJAX =AsynchronousJavaScriptAndXML.
AJAX is not a programming language.
AJAX just uses a combination of:
A browser built-in XMLHttpRequest object
(to request data from a web server)
JavaScript and HTML DOM (to display or
use the data)
AJAX allows web pages to be updated
asynchronously by exchanging data with a
web server behind the scenes. This means
that it is possible to update parts of a web
page, without reloading the whole page.
XMLHttpRequest Object
The keystone of AJAX is the
XMLHttpRequest object.
All modern browsers (Chrome, IE7+,
Firefox, Safari, and Opera) have a builtin XMLHttpRequest object.
Syntax
variable=newXMLHttpRequest();
Old versions of Internet Explorer (IE5
and IE6) use an ActiveX Object:
variable=newActiveXObject("Microsof
t.XMLHTTP");
Description
new XMLHttpRequest()
abort()
open(method,url,async,
user,psw)
send()
send(string)
setRequestHeader()
Description
onreadystatechange
readyState
responseText
responseXML
status
statusText
send()
send(string)
GET or POST?
GET is simpler and faster than POST, and
can be used in most cases.
However, always use POST requests when:
A cached file is not an option (update a file
or database on the server).
Sending a large amount of data to the
server (POST has no size limitations).
Sending user input (which can contain
unknown characters), POST is more robust
and secure than GET.
xhttp.open("GET","demo_get2.asp?
fname=Henry&lname=Ford",true);
xhttp.send();
xhttp.open("POST","demo_post.asp",
true);
xhttp.send();
<script>
functionshowUser(str) {
if(str=="") {
document.getElementById("txtHint").innerHTML="";
return;
}
if(window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=newXMLHttpRequest();
}else{// code for IE6, IE5
xmlhttp=newActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if(this.readyState==4 &&this.status==200) {
document.getElementById("txtHint").innerHTML=this.responseText;
}
}
xmlhttp.open("GET","getuser.php?q="+str,true);
xmlhttp.send();
}
</script>
<?php
$q = intval($_GET['q']);
$con = mysqli_connect('localhost','peter','abc123','my_db');
if (!$con){
die('Could not connect: ' . mysqli_error($con));
}
mysqli_select_db($con,"ajax_demo");
$sql="SELECT * FROM user WHERE id = '".$q."'";
$result = mysqli_query($con,$sql);
echo "<table>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
<th>Hometown</th>
<th>Job</th>
</tr>";
while($row = mysqli_fetch_array($result)) {
echo "<tr>";
echo "<td>" . $row['FirstName'] . "</td>";
echo "<td>" . $row['LastName'] . "</td>";
echo "<td>" . $row['Age'] . "</td>";
echo "<td>" . $row['Hometown'] . "</td>";
echo "<td>" . $row['Job'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysqli_close($con);
?>