Ajax/AJAX - მოთხოვნის გაგზავნა Server-ზე

ვიკიწიგნებიდან
გადასვლა: ნავიგაცია, ძიება

სერვერზე მოთხოვნის გასაგზავნად გამოიყენება Open() და Send() მეთოდები.

Open() მეთოდი შეიცავს სამ არგუმენტს. პირველი არგუმენტი განსაზღვრავს სერვერზე გასაგზავნი მოთხოვნის მეთოდს(GET, ან POST). მეორე არგუმენტი განსაზღვრავს სერვერული სკრიპტის ბმულს. მესამე არგუმენტი განსაზღვრავს მოთხოვნის ასინქრონიზაციას. Send() მეთოდი აგზავნის მოთხოვნას სერვერზე. თუ მიიღებთ HTML და ASP ფაილებს, რომლებიც არიან იგივე დირექტორიაში, მაშინ კოდი იქნება შემდეგნაირად ჩამოყალიბებული:

xmlHttp.open("GET","time.asp",true);
xmlHttp.send(null);

ახლა უნდა გადაწყვიტოთ, თუ როდის გაეშვება Ajax ფუნქცია. მიეცით საშუალება ფუნქციას გაეშვას, როგორც "behind the scenes", როცა მომხმარებელი შეიყვანს მონაცემებს მომხმარებლის სახელის ველში:

<form name="myForm">
Name: <input type="text"
onkeyup="ajaxFunction();" name="username" />
Time: <input type="text" name="time" />
</form>

მაგალითი:

<html>
<body>
<script type="text/javascript">
function ajaxFunction()
{
var xmlHttp;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    try
      {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    catch (e)
      {
      alert("Your browser does not support AJAX!");
      return false;
      }
    }
  }
  xmlHttp.onreadystatechange=function()
    {
    if(xmlHttp.readyState==4)
      {
      document.myForm.time.value=xmlHttp.responseText;
      }
    }
  xmlHttp.open("GET","time.asp",true);
  xmlHttp.send(null);
  }
</script>
<form name="myForm">
Name: <input type="text"
onkeyup="ajaxFunction();" name="username" />
Time: <input type="text" name="time" />
</form>
</body>
</html>