Последния файл е най-сложният от всички, тъй като той прави всички изчисления. В него имаме една функция, която получава като параметър даден низ, който определя какво точно да бъде върнато към клиента.
CODE1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
| <?PHP
function getCountries($enter)
{
$return_countries = array();
$enter = ucfirst(strtolower($enter));
$countries = array("Afrikaans","Albanian", "Amharic",
"Arabic", "Armenian", "Azerbaijani",
"Basque", "Belarusian", "Bengali",
"Bihari", "Bosnian", "Breton",
"Bulgarian", "Cambodian", "Catalan",
"Chinese", "Corsican", "Croatian",
"Czech", "Danish", "Dutch",
"English", "Esperanto", "Estonian",
"French", "German", "Greek",
"Hungarian", "Irish", "Japanese",
"Latvian", "Mongolian" );
$objResponse = new xajaxResponse();
if(!empty($enter))
{
foreach($countries as $value)
{
if(substr($value,0,strlen($enter)) == $enter)
{
$return_countries[] = $value;
continue;
}
}
if(count($return_countries) > 0 && strlen($enter) != strlen($return_countries[0]))
{
$objResponse->addAssign("myCountries","innerHTML",implode("<br>",$return_countries));
}
else
{
$objResponse->addAssign("myCountries","innerHTML","");
}
}
else
{
$objResponse->addAssign("myCountries","innerHTML","");
}
return $objResponse;
}
require("textfield.common.php");
$xajax->processRequests();
?> |
Във функцията съм създал един масив с няколко езика, но по принцип тази технология се препоръчва за голям обем от данни, който е запаметен в база за данни. След това се създава един обект от
xajaxResponse, на който по-долу се присвояват и данните, които трябва да се върнат към клиента.
Метода, който използвам тук е
addAssign. Той приема като параметри ID-то на нашия DIV, InnerHTML е стандартен параметър и низа, който се изпраща към клиента. Този метод презаписва съдържанието, което се намира вече в DIV тага.
И като полседно, за да може да върне изобщо нещо тази функция се извиква метода:
$xajax->processRequests();, но извън функцията!
Като резултат от целия пример трябва да получите следното:
1. Въвеждам буквата "B" и получавам
2 Въвеждам буквата "u" и получавам
Други методи, които може да използвате са:
- setCharEncoding
- addAppend
- addPrepend
- addReplace
- addClear
- addAlert
- addRedirect
- addScript
- addRemove
- addCreate
- addInsert
- addCreateInput
- addInsertInput
- addEvent
- addHandler
- addRemoveHandler
- addIncludeScript
- getXML
- loadXML
Значенията и използването на всяка една от тези функции, може да прочетете в подробната документация на проекта:
http://wiki.xajaxproject.org/Documentation:xajaxResponse.inc.php
Надявам се да ви хареса технологията и да съм ви подбудил интереса. Като се занимавам малко повече, ще напиша и някой по сложен урок.