post ajax и php

Статус
В этой теме нельзя размещать новые ответы.

pronax

Постоялец
Регистрация
20 Сен 2008
Сообщения
147
Реакции
10
Всем привет!
Задача вроде и простая, но вот как её реализовать не могу себе представить...
есть форма на html, есть кнопка отправки данных на сервер
есть php которая этот запрос обрабатывает
нужно сделать на ajax... т.е. пользователь зашёл, ввёл данные а php с помощью ajax вернул ему нужные данные...
уже и в сторону fullajax смотреть, так и нечего и не понял
 
HTML:
<html>
<head>
<title>PHP using AJAX</title>
<script type="text/javascript">
var time_variable;
function getXMLObject()  //XML OBJECT
{
   var xmlHttp = false;
   try {
     xmlHttp = new ActiveXObject("Msxml2.XMLHTTP")  // For Old Microsoft Browsers
   }
   catch (e) {
     try {
       xmlHttp = new ActiveXObject("Microsoft.XMLHTTP")  // For Microsoft IE 6.0+
     }
     catch (e2) {
       xmlHttp = false   // No Browser accepts the XMLHTTP Object then false
     }
   }
   if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
     xmlHttp = new XMLHttpRequest();        //For Mozilla, Opera Browsers
   }
   return xmlHttp;  // Mandatory Statement returning the ajax object created
}
var xmlhttp = new getXMLObject();	//xmlhttp holds the ajax object
function ajaxFunction() {
  var getdate = new Date();  //Used to prevent caching during ajax call
  if(xmlhttp) { 
  	var txtname = document.getElementById("txtname");
    xmlhttp.open("POST","testing.php",true); //calling testing.php using POST method
    xmlhttp.onreadystatechange  = handleServerResponse;
    xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xmlhttp.send("txtname=" + txtname.value); //Posting txtname to PHP File
  }
}
function handleServerResponse() {
   if (xmlhttp.readyState == 4) {
     if(xmlhttp.status == 200) {
       document.getElementById("message").innerHTML=xmlhttp.responseText; //Update the HTML Form element 
     }
     else {
        alert("Error during AJAX call. Please try again");
     }
   }
}
</script>
<body>
<form name="myForm">
<table>
 <tr>
  <td>Enter Name</td>
  <td><input type="text" name="txtname" id="txtname" /></td>
 </tr>
 <tr>
  <td colspan="2"><input type="button" value="Submit" onclick="ajaxFunction();" /></td>
 </tr> 
</table>
<div id="message" name="message"></div> 
</form>
</body>
</head>
</html>

PHP:
<?php
 
$a = $_POST['txtname'];
 
echo "Good Morning".$a;
 
?>
 
а не проще jQuery.ajax ?
 
большое спасибо! всё работет, только два вопроса:
1) как сделать loader(какой-нить индикатор что запрос ещё идёт)
2) как сделать по нажатию Enter тоже передачу данных... а то по кнопке работает, а по Enter нет
 
1)
PHP:
//jQuery:

$('#ajaxinfo').ajaxStart(function(){ 
 $(this).show();
 }); 
$('#ajaxinfo').ajaxStop(function(){ 
 $(this).hide();
 });           

//style:

#ajaxinfo {
position:fixed;
border: 1px solid rgb(255,255,255);
bottom:0;
right:7px;
width: 24px;
height: 24px;
background: url('img/load.gif') no-repeat center;
opacity:0.3;
}
//html:

<div id="ajaxinfo"></div>
2)
PHP:
//jQuery:

$('#form-id').keypress(function(e) {	
        if(e.which == 13) { 
         $(this).submit();
	  return false;
	}
   });
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху