Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> eAjax, Prosta funkcja do obsługi AJAX'a
E -dd
post 5.02.2007, 19:33:14
Post #1





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 18.12.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Witam

Napisałem na własny użytek ale może komuś się przyda. Prosta funkcja do obsługi ajaxa + funkcja do dodawania parametrów.

Kod
/*
eAjax
Wersja 1.0 Beta

Michał Molenda "Ed"
www.ed.yom.pl

*/
p = new Array (); // Tablica z paramterami

function eAjax( method , file , idName ) {
http_request = false;
var znak     = "";
var pStr     = "";

if (window.XMLHttpRequest) {
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');
}
} else if (window.ActiveXObject) {
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) { }
}
}


if (!http_request) {
alert ( 'eAJX : Błąd - Podczas instancji obiektu XMLHTTP' );
return false;
}

for(var i in this.p)
{
if ( i == 0 ) znak = "?";
else znak = "&";

pStr += znak + this.p[i].name + "=" + this.p[i].value ;
}

http_request.onreadystatechange = function() { status( http_request , idName ); };
http_request.open(method, file + pStr , true);
http_request.send(null);
}

function status( http_request , idName ) {
try {
if (http_request.readyState == 4) {
if (http_request.status == 200) {
document.getElementById(idName).innerHTML = http_request.responseText;
} else {
alert('Wystąpił problem z tym żądaniem.');
}
}
}
catch( e ) { }

}
function eAjaxAddParametr ( name , value )
{
var newP = { name : name, value : value }

this.p.push(newP);
}


Jak wspomniałem jest to dość proste, ale przydaje się w małych projektach.

Teraz przykładowe użycie.
Kod
<html>
<head>
<script type="text/javascript" src="eAjax.js"></script>
<script type="text/javascript">
function show ()
{
eAjaxAddParametr ( 'tekst' , 'Siemanko wam' );
eAjaxAddParametr ( 'id' , 'Jakiś id' );

eAjax ( 'GET' , 'tekst.php' , 't' );
}
</script>
</head>
<body>
<p id="t"></p>
<a href="#" onclick="show()">Pokaz tekst</a>
</body>
</html>

gdzie plik tekst.php wygląda tak.
  1. <?php
  2. $tekst = $_GET['tekst'];
  3. $id = $_GET['id'] ;
  4.  
  5. echo 'Tekst = ' . $tekst . '<br />ID = ' . $id ;
  6. ?>

A teraz małe objaśnienie.
Kod
eAjaxAddParametr( nazwa , wartość );

Kod
eAjax ( metoda , plik , id elementu w który zostanie wyświetlony wynik);


Inne przykładowe użycie. Można do funkcji W JS przekazać nazwę pola z bazy danych, za pomocą skryptu php pobrać wpisy z tabeli, posortować według przekazanego pola a następnie wyświetlić na stronie bez odświerzania.

Mam nadzieje że komuś się to przyda smile.gif Przykład działania można zobaczyć na program.yom.pl smile.gif

Czekam na opnie, komentarze i uwagi.


--------------------
Program TV, Sukces internetowy, Forum dla administratorów stron
Go to the top of the page
+Quote Post
Landon
post 9.04.2008, 12:41:28
Post #2





Grupa: Zarejestrowani
Postów: 83
Pomógł: 3
Dołączył: 21.04.2007
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


wybacz ale to nawet nie ma konstukcji klasy ... jest to poprostu zbiur kilku funkcji ...


--------------------
Go to the top of the page
+Quote Post
nevt
post 9.04.2008, 13:12:54
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

Ostrzeżenie: (0%)
-----


wybacz Landon, ale kolega nie E-dd nie prezentuje tu OOP w rodzaju advAjax tylko PROSTĄ FUNKCJĘ, więc nie nabijaj sobie postów nic nie wnoszącymi komentarzami...


--------------------

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 8.07.2025 - 04:13