AJAX XMLHttp iftypeofXMLHttp Requestundefined var get XMLHttp Obj
AJAX
Создание объекта XMLHttp if(typeof(XMLHttp. Request)!='undefined'){ var get. XMLHttp. Obj = function(){ return new XMLHttp. Request(); } } else { var get. XMLHttp. Obj = function(){ return new Active. XObject('Microsoft. XMLHTTP'); } }
Запрос объекту XMLHttp var o. Xml = get. XMLHttp. Obj(); o. Xml. open('GET', 'get. Data. php', true); o. Xml. onreadystatechange = processing. Function; o. Xml. send(); function processing. Function(){ if(o. Xml. ready. State!=4) return; // запрос не выполнен // Результаты обрабатываются здесь. }
Пример получения XML данных function processing. Function(){ if(o. Xml. ready. State!=4) return; var xml. Doc = o. Xml. response. XML; var contacts = xml. Doc. select. Nodes('/xml/contacts/person'); alert('There are '+contacts. length+' contacts!'); } for(var i=0; i<contacts. length; i++){ alert('Contact #'+(i+1)+': nn'+ 'First Name: '+contacts[i]. get. Attribute('firstname')+'n'+ 'Last Name: '+contacts[i]. get. Attribute('lastname') +'n'+ 'Phone #: '+contacts[i]. get. Attribute('phone') +'n'); }
XML данные для примера <xml> <contacts> <person firstname="Joe" lastname="Smith" phone="555 -1212" /> <person firstname="Sam" lastname="Stevens" phone="123 -4567" /> </contacts> </xml>
Пример получения текстовых данных function processing. Function(){ if(o. Xml. ready. State!=4) return; var json = eval('('+o. Xml. response. Text+')'); alert('There are '+json. contacts. length+' contacts!'); } for(var i=0; i<json. contacts. length; i++){ alert('Contact #'+(i+1)+': nn'+ 'First Name: '+json. contacts[i]. firstname+'n'+ 'Last Name: '+json. contacts[i]. lastname +'n'+ 'Phone #: '+json. contacts[i]. phone +'n'); }
Текстовые данные для примера {contacts: [ {"firstname": "Joe", "lastname": "Smith", "phone": "555 -1212"}, {"firstname": "Sam", "lastname": "Stevens", "phone": "123 -4567"} ]}
Пример изменения страницы function done. Loading(o. XML){ if(o. XML. ready. State!=4) return; var json = eval('('+o. XML. response. Text+')'); var tbl = document. get. Element. By. Id('contact. List. Table'); for(var i=tbl. child. Nodes. length-1; i>0; i--){tbl. remove. Child(tbl. child. Nodes[i]); } for(var i=0; i<json. contacts. length; i++){ var tr = document. create. Element('TR'); var td 1 = document. create. Element('TD'); var td 2 = document. create. Element('TD'); tbl. append. Child(tr); tr. append. Child(td 1); tr. append. Child(td 2); td 1. append. Child(document. create. Text. Node(json. contacts[i]. lastname)); td 2. append. Child(document. create. Text. Node(json. contacts[i]. phone)); }}
- Slides: 9