in reply to Re^2: perl javascript XML
in thread perl javascript XML
#header required to properly recieve text/html response print "Content-type: text/html\n\n"; print '{"employees" : [' . "\n"; foreach my $employee(@employees) { print ' { "name" : "' . $employee->{name} . '",' . "\n" . '"company" : "' . $employee->{company} . '",' . "\n" . '"email" : "' . $employee->{email} . '",' . "\n" . '"website" : "' . $employee->{website} . '"'. "\n" . '},' } print ']}';
//loading XML (JSON) data function loadXML(url) { //creating XMLHttpRequest Object... IE Only try{ req = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { req = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { req = false; } } alert('contacting ' + url); //opening url req.open("GET",url, true); //when data is recieved, goto popuplate_list() req.onreadystatechange=populate_list; //GET method, send null req.send(null); } //populates a JSON object of employees function populate_list() { //response completed if(req.readyState == 4) { //response ok if(req.status == 200) { //evaluate string into a JSON object var records = eval('('+req.responseText+')'); //display records show_list(records); } } } //showing employees function show_list(records) { var size = records.employees.length; var employee_list = records.employees; for(var i=0; i<size; i++) { alert('Name ' + employee_list[i].name + '\n' + 'Company ' + employee_list[i].company + '\n' + 'Email ' + employee_list[i].email + '\n' + 'Website ' + employee_list[i].website); } } //contacting perl script loadXML('../backend/script/employee.pcgi');
|
|---|