Не сте регистриран! Регистрирайте се БЕЗПЛАТНО, за да използвате услугите на сайта!

   Рубрики
 
 
 
 

 Форуми
» SEO и оптимизация
» Всичко за PHP и Perl
» Всичко за C, C++ и .NET
» Всичко за Java и JSP
» Всичко за SQL и MySQL
» Всичко за XHTML и CSS
» Презентация на сайтове
 Интерактивност с Ajax и PHP
  1. Интерактивност с Ajax и PHP
  2. Използване на xajax - I
  3. Използване на xajax - II
Mutatos
     
Автор  Mutatos (25.02.2006 12:35)  съобщение до автора
Погледнат  9456 пъти  добави към любими
Оценка  добави коментар
Гласове  7  изпрати на приятел
Коментари  (8)  абонирай се за PHP
    Страница 2 / 3

 



Използване на xajax

xajax е свободна библиотека под GNU Lesser General Public License. Всеки може да си я свали от следния адрес: http://www.xajaxproject.org/. Цялата документация на проекта се намира на същия адрес.

За създаване на апликация с xajax са нужни винаги 3 файла.

file.server.php
- файлът който играе ролята на сървър и обработва подадените данни във вид на функции

file.common.php
- файлът, който регистрира функциите и инклудира сървъра

action.php
- файлът, който показва информацията и задвижва всичко

Накратко да обясня примера, които ще разработим в този урок. Нека имаме едно текстово поле, в което искаме да въвеждаме даден език Bulgarian, English, German ..., но тъй като всеки би трябвало да въвежда винаги стандартни стойности, нашата система ще извежда препоръчителни езици, докато потрбителят въведе точния език.

Първийт файл textfile.php съдържа нашия HTML документ с текстовото поле.

CODE
1
2
3
4
5
6
7
8
9
10
11
<?PHP
require("textfield.common.php");
$xajax->printJavascript('../ajax/');
?>
<table width="400" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="254"><input type="text" name="country" id="country"  onKeyUp="xajax_getCountries(document.getElementById('country').value);return false;"/>
    <div id="myCountries" ></div>
    </td>
  </tr>
</table>

В началото инклудираме свързващия файл textfield.common.php, който ще обясним по-долу. След това извикваме метода printJavaScript с параметър пътя до основната директория на xajax библиотеките, който извежда необходимите JavaScript функции за транспорта на данните. Но с тези функции няма нужда да се занимаваме.

Следва един HTML документ с едно текстово поле и един празен DIV елемент, в който по-късно ще се показват предложенията на езиците. Основното действие извършва функцията xajax_getCountries() при onKeyUp в текстовото поле. Т.е като пуснете клавиша, функцията ще изпрати определени данни към сървъра, при което ще се извърши някакво действие върху страницата. В нашия случай действието е зареждане на езици, който съвпадат с въведеното от потребителя, буква по буква. Важното тук е, че всяка функция, която сте създали и искате да извикате, трябва да напишете преди това xajax_. Това е просто стандарт.



Файлът textfield.common.php е най-простият по структура, но е един от най-важните, тъй като той прави връзката между клиента и сървъра.

CODE
1
2
3
4
5
6
<?PHP
require_once ($DOCUMENT_ROOT."/ajax/xajax.inc.php");

$xajax = new xajax("textfield.server.php");
$xajax->registerFunction("getCountries");
?>

В него се създава обект на класа xajax, като като параметър на конструктора се предава файлът, играещ ролята на сървър. Следващото, което се прави е регистрирането на функциите, който ще обработват данните. В нашия случай имаме само една функция и това е getCountries.



 << Предишна страница Следваща страница >> 


Ключови думи: PHP ajax xajax


Още уроци от тази рубрика


 
  • Подобни теми от myLinks
 

 За автора: Mutatos  
Николай Николов се занимава с програмиране на PHP/MySQL повече от 6 години. Заедно с разработката на уеб приложения на PHP, се занимава с Java, XML и Webservices.
   
 1 посетител чете този урок (0 потребители и 1 гост)  
Активни потребители: ---
   
  

Еmail  
 

Само едно не разбрах какво означава "и инклудира сървъра"!?
Нямаше ли друга дума? Като "обхваща, включва и т.н."?
Статията е добра. AJAX е едно наистина добро решение, а това, че някой browsers не я поддържат (технологията) си е проблем на browser-ите не на потребителите. 

  PStoianov на 13.12.2006 23:05

div_traktorist до колкото съм чел, AJAX се поддържа единствено от IE версия 5.5 и нагоре, също знам и за FireFox, но за Opera няма работещ XMLHttpRequest.

  dfm на 30.10.2006 11:51

Системата си я бива изобщо AJAX,но искам да те питам  Mutatos, ти използваш ли xajax ?

  Miro на 26.10.2006 23:45

Урока е супер! Ajax/xajax е стабилна система! :))

  Miro на 23.10.2006 00:18

div_traktorist на сайта който съм дал в описанието си може да отидеш и да пробваш дали ти работи, там има използван ajax, ако не сработи проблема ти е в операта
между другото бих препоръчал на феновете на тази технология да погледнат dklab.ru там има нещо много добро по темата

  dimomit на 26.04.2006 22:14

Джава скрипта е разрешен, грешката е :
 
Your browser does not appear to  support asynchronous requests using POST.

  div_traktorist на 28.02.2006 17:56

div_traktorist задал ли си на Опера да подържа javascript? или си огранил нещо?

Ех Mutatos утрепа ми идеята за статия, изпревариме така да се каже.

Иначе добре е че се обръща внимание на новите неща

  PureEvil на 28.02.2006 17:52

Здрасти,
добра тема, добър урок.
Знаеш ли защо Опера не поддържа AJAX? И дали това няма да се оправи в бъдещите версии?

  div_traktorist на 28.02.2006 17:29

 

 
  • Интересно от Софтуер
 



IT-PLACE.NET © 2004 - 2008