Для выполнения до 1000 XML запросов к Google в день Вам предварительно необходимо зарегистрироваться и получить ключ.search=»Word» xmlhttp.open(«POST», «http://api.google.com/search/beta2»,true); xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4) { alert(xmlhttp.responseText) } } xmlhttp.setRequestHeader(«Man», «POST http://api.google.com/search/beta2 HTTP/1.1») xmlhttp.setRequestHeader(«MessageType», «CALL») xmlhttp.setRequestHeader(«Content-Type», «text/xml») xmlhttp.send(«<?xml version=’1.0′ encoding=’UTF-8′?>»+»\n\n»+»<SOAP-ENV:Envelope»+ ‘ xmlns:SOAP-ENV=»http://schemas.xmlsoap.org/soap/envelope/»‘+ ‘ xmlns:xsi=»http://www.w3.org/1999/XMLSchema-instance»‘+ ‘ xmlns:xsd=»http://www.w3.org/1999/XMLSchema»>’+ ‘<SOAP-ENV:Body><ns1:doGoogleSearch’+ ‘ xmlns:ns1=»urn:GoogleSearch»‘+ ‘ SOAP-ENV:encodingStyle=»http://schemas.xmlsoap.org/soap/encoding/»>’+ ‘<key xsi:type=»xsd:string»>GOOGLEKEY</key> <q’+ ‘ xsi:type=»xsd:string»>’+search+'</q> <start’+ […]
Несложная система комментирования с использованиям Ajax. Не использует никаких баз данных. Сообщения добавляются непосредственно в код html или php страниц.Рассмотрим систему отображения формы по Ajax-запросу и записи комментариев.<?php// Универсальная система добавления комментариев на страницы любого сайта с использованием технологии Ajax// Вы можете использовать данный код в любых своих разработках с сохранением этого комментария// Размещение исходного кода на сайтах возможно только при наличии активной ссылки на первоисточник:// http://HTMLWEB.RU/ajax/example/load_form.php// Все остальные права принадлежат автору: Колесникову Дмитрию Геннадьевичу$u_name=param(‘name’);$u_mail=param(‘mail’);$u_www=param(‘www’);$DEBUG= (getenv(‘REMOTE_ADDR’)==’127.0.0.1′);$HTTP_REFERER = @$_SERVER[‘HTTP_REFERER’];$comment=@$_POST[‘comment’];if (empty($comment)) {?><form name=»frmcomment» method=»post» ONSUBMIT=»SendComment();return false;»>Имя: <input type=»text» name=»name» size=18 value=»<?=$u_name?>» /> E-mail:<input type=»text» name=»mail» size=18 value=»<?=$u_mail?>» title=»Защищен от спама» /><br /><textarea name=»comment» rows=»4″ style=»width:100%»></textarea><INPUT TYPE=»SUBMIT» VALUE=»Поделиться мыслями» class=»submit» /><input type=»hidden» name=»url» value=»<?=substr($HTTP_REFERER,strlen(«http://».$_SERVER[‘SERVER_NAME’]))?>» /></form><span id=»answer»></span><?exit; }$logfile=$_SERVER[‘DOCUMENT_ROOT’].»/log/comment.txt»; if(!isset($add_mes) && is_file($logfile)){ $t=((int)((time()-filemtime($logfile)))); if($t<60){echo «Нельзя отправлять сообщения чаще, чем раз в минуту!»;exit;} }// при запросе через ajax всё всегда передается в UTF-8 $u_name=@iconv(«UTF-8», «windows-1251//IGNORE», $u_name);$comment=@iconv(«UTF-8», «windows-1251//IGNORE», $comment);// Вы можете добавить защиту от спамеров, но не забудьте при отправке формы через Ajax устанавливать поле referer//if (!isset($HTTP_REFERER) || (strpos($HTTP_REFERER, «htmlweb.ru») === false) )die(‘Запрос из вне сайта!’);// отправляем сообщение админу сайта$body=date(«d.m.Y H:i», time()).»\n».$_SERVER[‘REQUEST_URI’].»\nИмя: «.$u_name.»\nMail:».$u_mail.»\nip:».$ip.»\n».$comment.»\n»; // сообщение администраторуfile_put_contents ( $logfile, $body.»\r\n» , FILE_APPEND);if(mail(«admin@».$_SERVER[‘SERVER_NAME’], «Сообщение из «.$HTTP_REFERER, $body, «From: <«.$u_mail.»>\nContent-Type: text/plain; charset=windows-1251″)) echo «Спасибо, Ваше сообщение отправлено!»;else echo «К сожалению, отправка сообщения не удалась!»;// добавляем сообщение на страницу $file_name=$_SERVER[‘DOCUMENT_ROOT’].$url; // адрес страницы if(file_exists($file_name)){ if(!empty($u_name)){$body=htmlspecialchars($u_name); if(!empty($u_mail))$body=»<a href=» title=’e-mail’ onclick=\»this.href=’mailto:».$u_mail.»‘\»><b>».$body.'</b></a>’; }else $body=»; $body='<span class=»time»>’.date(«d.m.Y H:i», time()).$comment.'</span>’.$body; $body.=»<br />\n».nl2br(AddBB(htmlspecialchars($comment))).»\n»; $body='<div class=»comment»>’.$body.»</div><br />»; // добавляем в конец // на самом деле, желательно вставлять в какое-то определенное место. file_put_contents ( $file_name, «\r\n».$body.»\r\n» , FILE_APPEND); } else die(‘Не удалось добавить комментарий в ‘.$file_name);function AddBB($comment) {// делаем ссылки активными$comment = preg_replace(«/\s(([a-zA-Z]+:\/\/)([a-z][a-z0-9_\..-]*[a-z]{2,6})([a-zA-Z0-9\/*-?&%]*))\s/i», » <a href=\»$1\» target=_blank>$3</a> «, $comment);$comment = preg_replace(«/\s(www\.([a-z][a-z0-9_\..-]*[a-z]{2,6})([a-zA-Z0-9\/*-?&%]*))\s/i», » <a href=\»http://$1\» target=_blank>$2</a> «, $comment);// можно сделать преобразование BB-кодов// пример смотри на http://htmlweb.ru/php/example/bb_code.php// можно совсем удалять все теги//$comment=strip_tags($comment);return $comment;}function param($param) { $param=(isset($_GET[$param])?$_GET[$param]:(isset($_POST[$param])?$_POST[$param]:false)); if (get_magic_quotes_gpc()) $param=stripslashes($param); return $param;}?>
Имеются три селекта: страна>регион>город при выборе страны подгружается список регионов, при выборе региона подгружается список городов, а при выборе города нужно делать переход на страницу index.php?country=RU®ion=2&city=3 тоесть с теми значениями, которые были выбраны в трёх селектах, по ним нужно сделать переход на страницу.<?php/* Выбор страна, регион, город с использованием технологии AjaxВзято http://htmlweb.ru/ajax/example/region.phpРазрешается использование в любых своих разработках.Размешение кода в открытом доступе разрешается только с сохранением активной ссылки на источник.Все остальные права принадлежат Колесникову Дмитрию Геннадьевичу.Полная платная версия с базой доступна по запросу на WMID 467585298788, E-Mail kdg@htmlweb.ru, ICQ 17754093.*/define(«db_prefix»,»geo_»);function sql($query) {$res=mysql_query ( $query );if(!$res)die(«Запрос:\n».$query.»\n»);return $res;}// capital — ссылка на город столица государства// telcod — телефонный код страныsql(‘CREATE TABLE IF NOT EXISTS ‘.db_prefix.’country ( id INT UNSIGNED NOT NULL AUTO_INCREMENT, PRIMARY KEY ( id ), name VARCHAR(64) NOT NULL UNIQUE, fullname VARCHAR(64) NOT NULL, english VARCHAR(64) NOT NULL, country_code2 CHAR(2) NOT NULL, country_code3 CHAR(3) NOT NULL, iso CHAR(3) NOT NULL, telcod CHAR(4) NOT NULL, location ENUM(«Азия», «Океания», «Европа», «Африка», «Антарктика», «Америка»), capital INT UNSIGNED NOT NULL ) DEFAULT CHARACTER SET cp1251 COLLATE cp1251_bin’);// capital — ссылка на город, обласной центрsql(‘CREATE TABLE IF NOT EXISTS ‘.db_prefix.’area ( id INT UNSIGNED NOT NULL AUTO_INCREMENT, PRIMARY KEY ( id ), name VARCHAR(64) NOT NULL, okrug VARCHAR(64) NOT NULL, country INT UNSIGNED NOT NULL, autocod VARCHAR(12) NOT NULL, capital INT UNSIGNED NOT NULL ) DEFAULT CHARACTER SET cp1251 COLLATE cp1251_bin’);sql(‘CREATE TABLE IF NOT EXISTS ‘.db_prefix.’city ( id INT UNSIGNED NOT NULL AUTO_INCREMENT, PRIMARY KEY ( id ), name VARCHAR(64) NOT NULL, area INT UNSIGNED NOT NULL, telcod CHAR(7) NOT NULL, latitude FLOAT(10,6), longitude FLOAT(10,6), country INT UNSIGNED NOT NULL ) DEFAULT CHARACTER SET cp1251 COLLATE cp1251_bin’);// ip — начальный IP адрес диаппазона ip-адрессов одного провайдера// count — количество ip-адресовsql(‘CREATE TABLE IF NOT EXISTS ‘.db_prefix.’geo_ip ( ip BIGINT UNSIGNED NOT NULL UNIQUE, count INT UNSIGNED NOT NULL, city INT UNSIGNED NOT NULL ) DEFAULT CHARACTER SET cp1251 COLLATE cp1251_bin’);if(isset($_GET[‘country’])){ echo «<option value=’0′>выбрать регион</option>\n»; $res = sql(‘SELECT * FROM ‘.db_prefix.’area WHERE country=»‘.addslashes(param(‘country’)).'»‘); while($row = mysql_fetch_array($res)) echo «<option value='» . $row[‘id’] . «‘>» . $row[‘name’] . «</option>\n»; die; }elseif(isset($_GET[‘region’])){ echo «<option value=’0′>выбрать город</option>\n»; $res = sql(‘SELECT * FROM ‘.db_prefix.’city WHERE area=»‘.addslashes(param(‘region’)).'»‘); while($row = mysql_fetch_array($res)) echo «<option value='» . $row[‘id’] . «‘>» . $row[‘name’] . «</option>\n»; die; }elseif(isset($_GET[‘city’])){$city=addslashes(param(‘city’)); LoadGeo();echo «<div style=’border: #C5D3DC 1px solid; padding: 10px; width: 97%;’>Город: <b>». $geo[‘city’].»</b><br />Регион: <b>». $geo[‘region’].»</b><br />Округ: <b>». $geo[‘okrug’].»</b><br />Страна: <b>».$geo[‘country’].»</b><br />Код страны: <b>».$geo[‘country_code2’].»</b><br />Код страны: <b>».$geo[‘country_code3’].»</b><br />Широта: <b>».$geo[‘latitude’].»</b><br />Долгота: <b>».$geo[‘longitude’].»</b><br />Телефонный код страны:<b>».$geo[‘telcod’].»</b><br />Телефонный код города:<b>».$geo[‘country_telcod’].»</b><br />Автомобильный код региона:<b>».$geo[‘autocod’].»</b><br />Столица <b>». $geo[‘capital’].»</b><br />Областной центр <b>». $geo[‘capital’].»</b><br /></div>»; die; }function LoadGeo() // для $city заполняет $geo и переменные $region, $country{global $geo, $city, $region, $country; $res = sql(‘SELECT * FROM ‘.db_prefix.’city WHERE id=’.$city.’ LIMIT 1′); if($row = mysql_fetch_array($res)){ $geo[‘city’]=$row[‘name’]; $region=$row[‘area’]; $geo[‘city_telcod’]=$row[‘telcod’]; $geo[‘latitude’]=$row[‘latitude’]; $geo[‘longitude’]=$row[‘longitude’]; $res = sql(‘SELECT * FROM ‘.db_prefix.’area WHERE id=’.$region.’ LIMIT 1′); if($row = mysql_fetch_array($res)){ $geo[‘region’]=$row[‘name’]; $geo[‘okrug’]=$row[‘okrug’]; $geo[‘autocod’]=$row[‘autocod’]; $country=$row[‘country’]; $res = sql(‘SELECT * FROM ‘.db_prefix.’country WHERE id=’.$country.’ LIMIT 1′); if($row = mysql_fetch_array($res)){ $geo[‘country’]=$row[‘name’]; $geo[‘fullname’]=$row[‘fullname’]; $geo[‘english’]=$row[‘english’]; $geo[‘country_code2’]=$row[‘country_code2’]; $geo[‘country_code3’]=$row[‘country_code3’]; $geo[‘iso’]=$row[‘iso’]; $geo[‘country_telcod’]=$row[‘telcod’]; $geo[‘location’]=$row[‘location’]; } } } }$ip2=ip2long(getenv(‘REMOTE_ADDR’));$f_add=false;if($ip2>0){ $res = sql(‘SELECT * FROM ‘.db_prefix.’geo_ip where ‘.$ip2.’ BETWEEN ip and ip+count LIMIT 1′); if ($geo = mysql_fetch_assoc($res)) {$city=$geo[‘city’]; LoadGeo();} }?><div id=’r7′></div><br /><br /><select name=»country» id=»country» onLoad=»this.focus = false;» onChange=»ajaxLoad(‘region’, ‘/ajax/example/region.php?country=’+this.options[this.selectedIndex].value, »,»,»); document.getElementById(‘region’).disabled=»;»><option value=»0″>выбрать страну</option> <?php$res = sql(‘SELECT * FROM ‘.db_prefix.’country’);while($row = mysql_fetch_array($res)){ if($row[‘id’]==@$country){ echo «<option value='» . $row[‘id’] . «‘ selected=’selected’>» . $row[‘name’] . «</option>\n»; $country=$row[‘id’];} else echo «<option value='» . $row[‘id’] . «‘>» . $row[‘name’] . «</option>\n»;}?></select><select name=»region» id=»region» <?=(@$country?»:’disabled=»disabled»‘)?> onChange=»ajaxLoad(‘city’, ‘/ajax/example/region.php?region=’+this.options[this.selectedIndex].value, »,»,»); document.getElementById(‘city’).disabled=»;»><option value=»0″ disabled=»disabled»>выбрать регион</option> <?phpif(@$country){$res = sql(‘SELECT * FROM ‘.db_prefix.’area WHERE country=’.$country);while($row = mysql_fetch_array($res)){ if($row[‘id’]==@$region){ echo «<option value='» . $row[‘id’] . «‘ selected=’selected’>» . $row[‘name’] . «</option>\n»; $region=$row[‘id’];} else echo «<option value='» . $row[‘id’] . «‘>» . $row[‘name’] . «</option>\n»; }}?></select><select name=»city» id=»city» <?=(@$region?»:’disabled=»disabled»‘)?> onChange=»ajaxLoad(‘info’, ‘/ajax/example/region.php?city=’+this.options[this.selectedIndex].value, »,»,»);»> <option value=»0″ disabled=»disabled»>выбрать город</option> <?phpif(@$region){$res = sql(‘SELECT * FROM ‘.db_prefix.’city WHERE area=’.$region);while($row = mysql_fetch_array($res)){ if($row[‘id’]==@$city){ echo «<option value='» . $row[‘id’] . «‘ selected=’selected’>» . $row[‘name’] . «</option>\n»; $region=$row[‘id’];} else echo «<option value='» . $row[‘id’] . «‘>» . $row[‘name’] . «</option>\n»; }}?></select><div id=»info»></div><script language=JavaScript><!—function ajaxLoad(obj,url,defMessage,post,callback){ var ajaxObj; if (defMessage) document.getElementById(obj).innerHTML=defMessage; if(window.XMLHttpRequest){ ajaxObj = new XMLHttpRequest(); } else if(window.ActiveXObject){ ajaxObj = new ActiveXObject(«Microsoft.XMLHTTP»); } else { return; } ajaxObj.open ((post?’POST’:’GET’), url); if (post&&ajaxObj.setRequestHeader) ajaxObj.setRequestHeader(«Content-Type», «application/x-www-form-urlencoded; charset=windows-1251;»); ajaxObj.onreadystatechange = ajaxCallBack(obj,ajaxObj,(callback?callback:null)); ajaxObj.send(post); return false; } function updateObj(obj, data, bold, blink){ if(bold)data=data.bold(); if(blink)data=data.blink(); document.getElementById(obj).innerHTML = data; // упрощенный вариант, работает не во всех браузерах } function ajaxCallBack(obj, ajaxObj, callback){return function(){ if(ajaxObj.readyState == 4){ if(callback) if(!callback(obj,ajaxObj))return; if (ajaxObj.status==200) updateObj(obj, ajaxObj.responseText); else updateObj(obj, ajaxObj.status+’ ‘+ajaxObj.statusText,1,1); }}}//—></script>?>
Для начала создадим форму ввода регистрационной информации и подключим скрипт из внешнего файла, содержащий необходимые функции (XMLHttpRequest и др.)<script src=»ajax_framework.js» language=»javascript»></script><!— Show Message for AJAX response —><div id=»login_response»></div><!— При отправке формы вызывается функция login() из ajax_framework.js —><form action=»javascript:login()» method=»post»><input name=»emailLogin» type=»text» id=»emailLogin» value=»»/><input name=»pswLogin» type=»password» id=»pswLogin» value=»»/><input type=»submit» name=»Submit» value=»Login»/></form>Обработчик ajax_framework.js:/* ———————— *//* XMLHTTPRequest Enable *//* […]
Step 1: include prototype.js Download prototype.js and create a new page (index.php). Add this line of code in the <head> tag onf index.php to include prototype framework: <script type=»text/javascript» src=»prototype.js»></script>Step 2: HTML code for index.php index.php is a simple page with a form like this:<input type=»text» name=»user_name» id=»user_name» /><input type=»submit» name=»button» id=»button» value=»Insert» onclick=»javascript:insertName()»/>…where the input button […]
Поле ввода поискового выражения и <div id=»search-result»> для отображения результатов поиска.Добавьте подключение javascript function в тег <head>:<script language=»javascript» src=»ajax_framework.js»></script>…а следующий код разместите в секции <body>:<h2>Ajax Search Engine</h2><form id=»searchForm» name=»searchForm» method=»post» action=»javascript:insertTask();»><divcolor: rgb(51, 51, 255); «>searchInput»><input name=»searchq» type=»text» id=»searchq» size=»30″ onkeyup=»javascript:searchNameq()»/><input type=»button» name=»submitSearch» id=»submitSearch» value=»Search» onclick=»javascript:searchNameq()»/></div></form><h3>Search Results</h3><div id=»msg»>Type something into the input field</div><div id=»search-result»></div>ajax_framework.js:/* ————————— *//* XMLHTTPRequest […]
Имеются два селекта: марка и модель и переключатель: иностранное или отечественное авто. При выборе значения переключателя подгружается список марок автомобилей, при выборе марки подгружается список моделей, а при выборе модели можно ввести дополнительно год выпуска и/или загрузить некоторую информацию об этом автомобиле.Исходный код примера:<?php/* Выбор марка, модель, год выпуска автомобиля с использованием технологии AjaxВзято http://htmlweb.ru/ajax/example/automarka.phpРазрешается использование в любых своих разработках.Размешение кода в открытом доступе разрешается только с сохранением активной ссылки на источник.Все остальные права принадлежат Колесникову Дмитрию Геннадьевичу (kdg@htmlweb.ru, ICQ 17754093).*/require_once($_SERVER[‘DOCUMENT_ROOT’].’/config.php’);CREATE TABLE IF NOT EXISTS pb_marka ( id int(10) unsigned NOT NULL auto_increment, `name` char(64) collate cp1251_bin NOT NULL, product tinyint(3) unsigned NOT NULL, PRIMARY KEY (id)) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_bin;CREATE TABLE IF NOT EXISTS pb_model ( id int(10) unsigned NOT NULL auto_increment, marka int(10) unsigned NOT NULL, `name` char(64) collate cp1251_bin NOT NULL, PRIMARY KEY (id)) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_bin;if(isset($_GET[‘product’])){ $product=$_SESSION[‘product’]=intval($_GET[‘product’]); // 1-импортная echo ‘<option value=0 selected>Выберите марку</option>’; $res = sql(‘SELECT * FROM ‘.db_prefix.’marka WHERE product=’.$product.’ ORDER by name’); while($row = mysql_fetch_array($res)) echo «<option value='» . $row[‘id’] . «‘>» . $row[‘name’] . «</option>\n»; exit; }elseif(isset($_GET[‘marka’])){ $marka=$_SESSION[‘marka’]=intval($_GET[‘marka’]); $res = sql(‘SELECT * FROM ‘.db_prefix.’model WHERE marka=’.$marka.’ ORDER by name’); /* todo if(mysql_num_rows($res)>1) */ echo ‘<option value=0 selected>Выберите модель</option>’; while($row = mysql_fetch_array($res)) echo «<option value='» . $row[‘id’] . «‘>» . $row[‘name’] . «</option>\n»; exit; }elseif(isset($_GET[‘model’])){ $id_model=intval(param(‘model’)); $res = sql(‘SELECT * FROM ‘.db_prefix.’model WHERE id=’.$id_model.’ LIMIT 1′); if(!($row = mysql_fetch_array($res)))die; $model=$row[‘name’]; $id_marka=intval($row[‘marka’]); $res = sql(‘SELECT * FROM ‘.db_prefix.’marka WHERE id=’.$id_marka.’ LIMIT 1′); if(!($row = mysql_fetch_array($res)))die; $marka=$row[‘name’]; $product=intval($row[‘product’]);echo «<div style=’border: #C5D3DC 1px solid; padding: 10px; width: 97%;’>производитель=<b>».($product==1?’ импортное ТС’:’отечественное ТС’).»</b><br/>марка=<b>».$marka.»</b><br/>модель=<b>».$model.»</b></div>»; mysql_close(); die; }$script=@$_SERVER[‘SCRIPT_URL’]; if(!$script)$script=@$_SERVER[‘REQUEST_URI’];$_SESSION[‘marka’]=$_SESSION[‘model’]=0;$_SESSION[‘product’]=1;?><table border=»0″ cellspacing=»0″ cellpadding=»5″ align=»center»><tr><td width=»250″>Производитель транспортного средства (ТС) <td><input type=»radio» CHECKED value=»1″ name=»product» onClick=»ajaxLoad(‘marka’, ‘<?=$script?>?product=’+this.value, »,»,»); «> Иностранное ТС<br><input type=»radio» value=»2″ name=»product» onClick=»ajaxLoad(‘marka’, ‘<?=$script?>?product=’+this.value, »,»,»); «> Отечественное ТС<br><td width=»250″> <tr><td colspan=»3″ class=»blank»><tr><td id=»markat»>Марка ТС<td><select style=»WIDTH: 200px; height:21″ name=»marka» id=»marka» onLoad=’this.focus = false;’ onChange=»getObj(‘model’).disabled=»; ajaxLoad(‘model’, ‘<?=$script?>?marka=’+this.options[this.selectedIndex].value, »,»,»);»> <option value=0 selected>Выберите марку</option><?$res = sql(‘SELECT * FROM ‘.db_prefix.’marka WHERE product=1 ORDER by name’);while($row = mysql_fetch_array($res)) echo «<option value='» . $row[‘id’] . «‘>» . $row[‘name’] . «</option>\n»;?></select><tr><td colspan=»3″ class=»blank»><tr><td id=»modelt»>Модель ТС<td><select style=»WIDTH: 200px; height:21″ name=»model» id=»model» <?=(@$marka?»:’disabled=»disabled»‘) ?> onChange=»ajaxLoad(‘info’, ‘<?=$script?>?model=’+this.options[this.selectedIndex].value, »,»,»);» > <option value selected disabled=»disabled»>Выберите модель</option></select><tr><td colspan=»3″ class=»blank»><tr><td id=»explt»>Год выпуска ТС<td><select style=»WIDTH: 200px; height:21″ name=»expl»> <option value selected>Выберите значение</option><? for($i=0;$i<=15;$i++) echo «<option value='».$i.»‘>».(intval(date(«Y»))-$i).»</option>\n»;?></select></table><div id=»info»></div><script language=JavaScript><!—function getObj(objID){ if (document.getElementById) {return document.getElementById(objID);} else if (document.all) {return document.all[objID];} else if (document.layers) {return document.layers[objID];}}function ajaxLoad(obj,url,defMessage,post,callback){ var ajaxObj; if (defMessage) document.getElementById(obj).innerHTML=defMessage; if(window.XMLHttpRequest){ ajaxObj = new XMLHttpRequest(); } else if(window.ActiveXObject){ ajaxObj = new ActiveXObject(«Microsoft.XMLHTTP»); } else { return; } ajaxObj.open ((post?’POST’:’GET’), url); if (post&&ajaxObj.setRequestHeader) ajaxObj.setRequestHeader(«Content-Type», «application/x-www-form-urlencoded; charset=windows-1251;»); ajaxObj.onreadystatechange = ajaxCallBack(obj,ajaxObj,(callback?callback:null)); ajaxObj.send(post); return false; } function updateObj(obj, data, bold, blink){ if(bold)data=data.bold(); if(blink)data=data.blink(); document.getElementById(obj).innerHTML = data; // упрощенный вариант, работает не во всех браузерах } function ajaxCallBack(obj, ajaxObj, callback){return function(){ if(ajaxObj.readyState == 4){ if(callback) if(!callback(obj,ajaxObj))return; if (ajaxObj.status==200) updateObj(obj, ajaxObj.responseText); else updateObj(obj, ajaxObj.status+’ ‘+ajaxObj.statusText,1,1); }}}//—></script>?>
Пример демонстрирует универсальный код работы с кешем для Internet Explorer и Firefox. Этот пример обеспечивает посылку «If-Modified-Sinse»-заголовка IE при обращениях к закешированному запросу.Исходный код этого примера:<script type=»text/javascript»><!—/* Пример демонстрирует универсальный код работы с кешем для Internet Explorer и Firefox.Этот пример обеспечивает посылку «If-Modified-Sinse»-заголовка IE при обращениях к закешированному запросу.Используется функция getAjaxObj */function getAjaxObj(){if(window.XMLHttpRequest){ return new […]