![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 155 Pomógł: 12 Dołączył: 5.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Zaczynam poznawać Ajax-a i mam pytanie. Załóżmy przykładowy kod: example.php
czy jest możliwość odwołania się do tej funkcji przez Ajax-a? Tzn. jeśli wywołujemy:
to czy można jakoś użyć tej funkcji? Ten post edytował bliitz 28.04.2008, 20:49:58 -------------------- |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 116 Pomógł: 119 Dołączył: 10.05.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
zadaniem skryptu PHP jest wygenerowanie jakiegoś wyniku (oczywiście nie uściślając)...
.. więc jeśli w pliku PHP użyjesz tej metody, z zwróci Tobie wynik to możesz ten wynik jako request przesłać za pomocą AJAXa z powrotem do przeglądarki pozdrawiam Cezar708 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 155 Pomógł: 12 Dołączył: 5.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
chodzi mi o zrobienie przyciusku co sprawdza czy login dostępny, i teraz jak mam plik z klasa walidacji gdzie jest kilka funkcji, to jak można wywołać tą jedną konkretą?
ajax Kod function process() { if(xmlHttp) { try { var login = document.getElementById("login_sign").value; var params = "login="+login; display("<img src=\"img/wait.gif\" width=\"17\" height=\"17\"> Pobieranie danych") xmlHttp.open("POST", "example.php", true); xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlHttp.setRequestHeader("Content-length", params.length); xmlHttp.setRequestHeader("Connection", "close"); xmlHttp.onreadystatechange = handleRequest; xmlHttp.send(params); } catch (e) { alert("Nie mozna nawiazac polaczenia z serwerem:\n" + e.toString()); } } } walidacja php
Ten post edytował bliitz 28.04.2008, 21:38:18 -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 116 Pomógł: 119 Dołączył: 10.05.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
ok ale w tym js musisz mieć jeszcze zdefiniowaną funkcję handleRequest i w niej sprawdzasz, czy wynik działania funkcji skryptu example.php.
załóżmy, że plik example.php wygląda tak:
to przechwytując requesta (handleRequest) sprawdzasz co jest wynikiem i ewentualnie dajesz info użytkownikowi np:
pozdrawiam Cezar708 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 155 Pomógł: 12 Dołączył: 5.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
hmm
no właśnie że tak można zrobić to wiem, tylko że teraz każda funkcja musi być w odzielnym pliku, bo jeśli ich jest kilka tak jak u mnie to nie ma chyba możliwści wywołania jednej konkretnej ![]() ps. w js mam: Kod var xmlHttp = createXmlHttpRequestObject();
function createXmlHttpRequestObject() { var xmlHttp; try { xmlHttp = new XMLHttpRequest(); } catch(e) { var XmlHttpVersions = new Array('MSXML2.XMLHTTP.6.0', 'MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP'); for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++) { try { xmlHttp = new ActiveXObject(XmlHttpVersions[i]); } catch (e) {} } } if (!xmlHttp) alert("Blad podczas tworzenia obiektu XMLHttpRequest."); else return xmlHttp; } function display($message) { myDiv = document.getElementById("login_show"); myDiv.innerHTML = $message + "<br/>"; } function process() { if(xmlHttp) { try { var login = document.getElementById("login_sign").value; var params = "login="+login; display("<img src=\"img/wait.gif\" width=\"17\" height=\"17\"> Pobieranie danych") xmlHttp.open("POST", "ajax/ajaxCheckLogin.php", true); xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlHttp.setRequestHeader("Content-length", params.length); xmlHttp.setRequestHeader("Connection", "close"); xmlHttp.onreadystatechange = handleRequest; xmlHttp.send(params); } catch (e) { alert("Nie mozna nawiazac polaczenia z serwerem:\n" + e.toString()); } } } function handleRequest() { if(xmlHttp.readyState == 4) { if(xmlHttp.status == 200) { try { document.getElementById("login_show").innerHTML = xmlHttp.responseText; } catch(e) { alert("Blad odczytania wiadomosci: " + e.toString()); } } else { alert("Blad w uzyskaniu danych:\n" + xmlHttp.statusText); } } } -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 116 Pomógł: 119 Dołączył: 10.05.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
hmm no właśnie że tak można zrobić to wiem, tylko że teraz każda funkcja musi być w odzielnym pliku, bo jeśli ich jest kilka tak jak u mnie to nie ma chyba możliwści wywołania jednej konkretnej ![]() zawsze możesz dodać parametr do wywołania... i dzięki temu określić co dokładnie chcesz sprawdzać:
(UWAGA: nie wiem czy tak się przekazuje zmienne w Twoim obiekcie) a następnie w example.php:
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 16:07 |