AJAX ជាអក្សរកាត់មកពីពាក្យថា Asynchronous JavaScript And XML ដែលជាបច្ចេកទេសមួយ ដែលត្រូវបានបង្កើតឡើងក្នុងគោលបំណងធ្វើការទាក់ទងជាមួយនឹង server ដើម្បីទទួលយកទិន្នន័យផ្សេងៗពី server មកប្រើប្រាស់និងឬសរសេរបង្ហាញនៅលើផ្នែកខ្លះនៃ browser ដោយមិនចាំបាច់ refresh browser ។
យ៉ាងណាម៉ិញ នៅក្នុងកម្មវិធីគេហទំព័រ ពាក្យថា asynchronous request មានន័យថាជាសំណើរទាំងឡាយធ្វើឡើងដោយកូដជាភាសា JS ទៅកាន់ server ដើម្បីទទួលបាននូវទិន្នន័យទាំងឡាយ យកមកសរសេរបង្ហាញនៅលើផ្នែកផ្សេងៗនៃ browser ។ ក៏ប៉ុន្តែ នៅពេលដែលធ្វើសំណើរទៅកាន់ browser រួចហើយ កូដជាភាសា js បន្តដំណើរការទៅមុខទៀតបណ្តើរ និងរង់ចាំទទួលយកលទ្ធផលពី server បណ្តើរ។ ពោលគឺខុសពី synchronous request ដែលតំរូវអោយកូដជាភាសា JS ត្រូវឈប់រង់ចាំរហូតដល់ server បញ្ជូនលទ្ធផលត្រឡប់មកវិញ ទើបដំណើរការទៅមុខទៀត។
ជាទូទៅ ការប្រើប្រាស់បច្ចេកទេស AJAX ក្នុងការធ្វើសំណើរទៅកាន់ server ទាមទារចាំបាច់អោយយើងត្រូវបង្កើតវត្ថុដែលជាសិស្សនៃថ្នាក់ XMLHttpRequest ជាមុនសិន ដោយធ្វើដូចខាងក្រោមនេះ៖
ជាទូទៅ ការប្រើប្រាស់បច្ចេកទេស AJAX ក្នុងការធ្វើសំណើរទៅកាន់ server ទាមទារចាំបាច់អោយយើងត្រូវបង្កើតវត្ថុដែលជាសិស្សនៃថ្នាក់ XMLHttpRequest ជាមុនសិន ដោយធ្វើដូចខាងក្រោមនេះ៖
var xhttp = new XMLHttpRequest();សំរាប់ browser ជំនាន់មុន ដូចជា Internet Explorer (IE5 and IE6) ជាដើម យើងចាំបាច់ត្រូវធ្វើដូចខាងក្រោមនេះ៖
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
សរុបមក ដើម្បីបង្កើតវត្ថុនៃថ្នាក់ XMLHttpRequest ដែលនឹងអាចដំណើការទៅបាននៅក្នុង browser គ្រប់ប្រភេទទាំងអស់ យើងចាំបាច់ត្រូវសរសេរកូដដូចខាងក្រោមនេះ៖
if (window.XMLHttpRequest) {
// កូដសំរាប់ browser សម័យទំនើប
xmlhttp = new XMLHttpRequest();
} else {
// កូដសំរាប់ IE browsers
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
XMLHttpRequest Object Methods
| Method | Description |
|---|---|
| new XMLHttpRequest() | Creates a new XMLHttpRequest object |
| abort() | Cancels the current request |
| getAllResponseHeaders() | Returns header information |
| getResponseHeader() | Returns specific header information |
| open(method,url,async,user,psw) |
Specifies the request method: the request type GET or POST url: the file location async: true (asynchronous) or false (synchronous) user: optional user name psw: optional password |
| send() |
Sends the request to the server Used for GET requests |
| send(string) |
Sends the request to the server Used for POST requests |
| setRequestHeader() | Adds a label/value pair to the header to be sent |
XMLHttpRequest Object Properties
| Property | Description |
|---|---|
| onreadystatechange | Defines a function to be called when the readyState property changes |
| readyState |
Holds the status of the XMLHttpRequest 0: request not initialized 1: server connection established 2: request received 3: processing request 4: request finished and response is ready |
| responseText | Returns the response data as a string |
| responseXML | Returns the response data as XML data |
| status |
Returns the status-number of a request 200: "OK" 403: "Forbidden" 404: "Not Found" For a complete list go to the Http Messages Reference |
| statusText | Returns the status-text (e.g. "OK" or "Not Found") |















